Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   How I can find out on which platform I am running (32/64 bits)? (http://www.velocityreviews.com/forums/t822528-how-i-can-find-out-on-which-platform-i-am-running-32-64-bits.html)

Joachim Just 06-22-2005 03:46 PM

How I can find out on which platform I am running (32/64 bits)?
 

I wonder whether within ruby there is a method to find out on which
platform my application is running.

Unfortunately, the application has to know if it is a 32-bit or 64-bit
system.

Any hints are highly appreciated.

Joachim Just
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/

Ara.T.Howard@noaa.gov 06-22-2005 03:58 PM

Re: How I can find out on which platform I am running (32/64 bits)?
 
On Wed, 22 Jun 2005, Joachim Just wrote:

>
> I wonder whether within ruby there is a method to find out on which platform
> my application is running.
>
> Unfortunately, the application has to know if it is a 32-bit or 64-bit
> system.
>
> Any hints are highly appreciated.


untested, but

[42].pack('L').size * 8 # => 32

this should be the number of bits per long.

you may also be able to get something from Config::CONFIG

hth.

-a
--
================================================== =============================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| My religion is very simple. My religion is kindness.
| --Tenzin Gyatso
================================================== =============================


WATANABE Hirofumi 06-22-2005 04:02 PM

Re: How I can find out on which platform I am running (32/64 bits)?
 
Hi,

"Joachim Just" <joachim.just@onlinehome.de> writes:

> I wonder whether within ruby there is a method to find out on which
> platform my application is running.
>
> Unfortunately, the application has to know if it is a 32-bit or 64-bit
> system.
>
> Any hints are highly appreciated.



64-bit % ruby -ve 'p [0].pack("l!").size'
ruby 1.9.0 (2005-05-31) [x86_64-netbsd]
8

32-bit % ruby -ve 'p [0].pack("l!").size'
ruby 1.9.0 (2005-06-13) [i386-linux]
4

--
eban



Daniel Berger 06-22-2005 04:12 PM

Re: How I can find out on which platform I am running (32/64 bits)?
 
WATANABE Hirofumi wrote:
> Hi,
>
> "Joachim Just" <joachim.just@onlinehome.de> writes:
>
>
>>I wonder whether within ruby there is a method to find out on which
>>platform my application is running.
>>
>>Unfortunately, the application has to know if it is a 32-bit or 64-bit
>>system.
>>
>>Any hints are highly appreciated.

>
>
>
> 64-bit % ruby -ve 'p [0].pack("l!").size'
> ruby 1.9.0 (2005-05-31) [x86_64-netbsd]
> 8
>
> 32-bit % ruby -ve 'p [0].pack("l!").size'
> ruby 1.9.0 (2005-06-13) [i386-linux]
> 4


That doesn't tell me much on Solaris:

>ruby -ve 'p [0].pack("l!").size'

ruby 1.8.2 (2004-12-25) [sparc-solaris2.10]

Ara's approach should work fine, though.

Finding the bitness of Ruby itself is easy. Finding a cross platform
way to find the bitness of the OS itself is another matter. I'm not
sure what the OP is after.

If anyone knows of a good, cross-platform way of finding the bitness of
the OS itself, I'd like to know that myself. :)

Regards,

Dan







Charles Mills 06-22-2005 08:03 PM

Re: How I can find out on which platform I am running (32/64 bits)?
 
Daniel Berger wrote:
> WATANABE Hirofumi wrote:
> > Hi,
> >
> > "Joachim Just" <joachim.just@onlinehome.de> writes:
> >
> >
> >>I wonder whether within ruby there is a method to find out on which
> >>platform my application is running.
> >>
> >>Unfortunately, the application has to know if it is a 32-bit or 64-bit
> >>system.
> >>
> >>Any hints are highly appreciated.

> >
> >
> >
> > 64-bit % ruby -ve 'p [0].pack("l!").size'
> > ruby 1.9.0 (2005-05-31) [x86_64-netbsd]
> > 8
> >
> > 32-bit % ruby -ve 'p [0].pack("l!").size'
> > ruby 1.9.0 (2005-06-13) [i386-linux]
> > 4

>
> That doesn't tell me much on Solaris:
>
> >ruby -ve 'p [0].pack("l!").size'

> ruby 1.8.2 (2004-12-25) [sparc-solaris2.10]
>
> Ara's approach should work fine, though.
>
> Finding the bitness of Ruby itself is easy. Finding a cross platform
> way to find the bitness of the OS itself is another matter. I'm not
> sure what the OP is after.
>
> If anyone knows of a good, cross-platform way of finding the bitness of
> the OS itself, I'd like to know that myself. :)
>
> Regards,
>
> Dan


irb(main):001:0> [1].pack('L')
=> "\001\000\000\000"
irb(main):002:0> [0x01020304].pack('L')
=> "\004\003\002\001"

So I'm on a little endian machine.

-Charlie



All times are GMT. The time now is 11:10 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.