Skip to main content

You may be using a Web browser that does not support standards for accessibility and user interaction. Find out why you should upgrade your browser for a better experience of this and other standards-based sites...

Dartmouth Home  Search  Index

Dartmouth Home | Search | Index

Dartmouth home page
Computing at Dartmouth
 
Computing > Support >  Library >  Research > Applications > Soft-Dev > Programs >  

How Do I Use the Compilers on 64-bit Linux Computers

A 64-bit computer can handle more computations, memory, and I/O than a 32-bit computer. To take advantage of this additional power, software must be built with 64-bit compilers. The 64-bit computer can run 32-bit applications, but running them in 32-bit mode doesn't use all the expanded capabilities of the 64-bit computer. However, software built to use a 64-bit computer cannot run on a 32-bit computer.

All of the C/C++ and FORTRAN compilers on the public 64-bit Linux computers  will build 64-bit applications by default when you run them on a 64-bit computer. You can specify options to these compilers to build a 32-bit executable instead of a 64-bit. The table below provides more information on these options for the installed  compilers.

If you plan to build your application on both 32-bit and 64-bit Linux computers, and you want to use the same executable on both, compile the program for a 32-bit computer. If you plan to run only on  a 64-bit computer, compile the program for 64-bit, as it will run more efficiently.

The File command tells you which kind of application your executable is. For example, the following information is about an executable called shapley.

file shapley

shapley: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV).
for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped

If you try to run a 64-bit executable on a 32-bit computer, you will get an error message that says, "Exec format error. Wrong Architecture.".

Compiler Commands For Building 32-bit and 64-bit Applications on 64-bit Linux Computers

Compiler

64-bit

32-bit

GNU C

gcc

gcc -m32

GNU C++

g++

g++ -m32

Portland Group C

pgcc,pgf90

pgcc -tp px

05/07/08

Last Updated: 5/8/08