The XL C/C++ compiler's
64-bit object capability addresses increasing demand for larger storage
requirements and greater processing power.
The Linux® operating
system provides an environment that allows you to develop and execute
programs that exploit 64-bit processors through the use of 64-bit
address spaces.
To support larger executables that can be fit within a 64-bit address
space, a separate 64-bit object format is used. The
linker binds these objects to create 64-bit
executables. Objects that are bound together must all be of the same
object format. The following scenarios are not permitted and will
fail to load, execute, or both:
- A 64-bit object or executable that has references to symbols from
a 32-bit library or shared library
- A 32-bit object or executable that has references to symbols from
a 64-bit library or shared library
- A 64-bit executable that explicitly attempts to load a 32-bit
module
- A 32-bit executable that explicitly attempts to load a 64-bit
module
XL C/C++ supports
64-bit mode mainly through the use of the -q64 and -qarch compiler
options. This combination determines the bit mode and instruction
set for the target architecture.
For more information, see Using 32-bit and 64-bit modes.