The XL C/C++ compiler's
64-bit object capability addresses increasing demand for larger storage requirements
and greater processing power.
The AIX® 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 form is used. The
binder 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, or 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
- Attempts to run 64-bit applications on 32-bit platforms
On both 64-bit and 32-bit platforms, 32-bit executables
will continue to run as they currently do on a 32-bit platform.
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.