GNU does not have shorthand
to invoking their compiler like AIX (
xlC_r, xlC, xlC128
, and so on) that will automatically include pthreads, DCE threads, or 128-bit libraries. You must include these parameters and libraries separately on the
line when building your executable.
Both AIX and Linux support the common parameters for building executables, such as the following:
Preprocessor directive name
Include file search path
But many compiler and link parameters control the behavior and the type of output generated in AIX and Linux. Refer back to Tables 5-3 and 5-4 for an
list of AIX compiler and linker parameters and their equivalent Linux compiler and linker parameters.
To build an executable in Linux, you must use the
utility. The traditional System V
is not compatible in Linux. AIX traditionally uses the System V version of
AIX and Linux linkers
in many ways. AIX uses the XCOFF binary format, whereas Linux uses the ELF format. In addition, AIX and Linux build runtime linkable objects differently, which has an effect on the library search behavior for the
parameter. Linux has library versioning and AIX does not. Users must run their newly created library through the versioning tool under Linux before it can be used.
For template instantiation, AIX and Linux use a repository to store template
and compile that code along with other code as a final step in the compile process prior to linking. The AIX equivalent to
AIX and Linux have a long list of compatible system and library APIs. Along with other differences, notable differences are in the return value of
As of the writing of this book, AIX fully supports POSIX threads and Linux supports Native POSIX Threads Library (NPTL), which has support for POSIX and more. However, both AIX and Linux implement kernel threads and
Large Page Support can be turned on in AIX in a number of ways:
Relinking the executable with
To enable Large Page Support in Linux, you need to reconfigure the kernel. Chapter 3 shows you how to enable Large Page Support for Linux.
Although some applications are relatively easy to port because of their
portable characteristics, some applications written to use AIX extensions take a little more porting effort. Overall, Linux 2.6 has improved its capabilities to readily accept software applications to run on it. Porting to Linux has never been easier. New features such as a preemptive kernel and support for better threads scheduling makes Linux an operating system that is truly ready for enterprise use.