Re: FW: 64 bit or 32 bit

Glynn Clements <[email protected]>
Newsgroups org.kernel.vger.linux-admin
Message-ID <[email protected]>
Benoit Rouits wrote:

> > > > How can I tell if a given system is running a 32bit krnel or a 64bit
> > > > kernel. I a system capable of running either, but I cannot figure
> > > > out which kernel is installed on it.
> > > 
> > > just make a C program like this:
> > > 
> > > int main()
> > > {
> > > 	printf("address bus is %d bytes\n",sizeof(void*));
> > > }
> > > and compile it with cc then run it.
> > > If it prints 8, it is a 64 bit OS, if it prints 4, it is a 32 bit OS.
> > 
> > That tells you which architecture the program was compiled for, not
> > which architecture the kernel was compiled for. x86_64 can run both
> > 32- and 64-bit code.
> 
> well, if we have a 64-bit kernel /and/ a compiler for 64 bits
> architectures, i think that a long int must be 8 bytes, no ?

If you compile the code into a 64-bit executable, it will either print
"address bus is 8 bytes" or refuse to run.

If you compile the code into a 32-bit executable, it will print
"address bus is 4 bytes" regardless of whether you run it on a 32- or
64-bit system.

-- 
Glynn Clements <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.