(autoconf.info)Portable C and C++


Next: Manual Configuration Prev: Portable Make Up: Top

12 Portable C and C++ Programming
*********************************

C and C++ programs often use low-level features of the underlying
system, and therefore are often more difficult to make portable to other
platforms.

   Several standards have been developed to help make your programs more
portable.  If you write programs with these standards in mind, you can
have greater confidence that your programs work on a wide variety of
systems.  Note: Language Standards Supported by GCC,
for a list of C-related standards.  Many programs also assume the Posix
standard (http://www.opengroup.org/susv3).

   Some old code is written to be portable to K&R C, which predates any
C standard.  K&R C compilers are no longer of practical interest,
though, and the rest of section assumes at least C89, the first C
standard.

   Program portability is a huge topic, and this section can only
briefly introduce common pitfalls.  Note: Portability between System
Types, for more information.

* Varieties of Unportability
How to make your programs unportable
* Integer Overflow
When integers get too large
* Preprocessor Arithmetic
`#if' expression problems
* Null Pointers
Properties of null pointers
* Buffer Overruns
Subscript errors and the like
* Volatile Objects
`volatile' and signals
* Floating Point Portability
Portable floating-point arithmetic
* Exiting Portably
Exiting and the exit status

automatically generated by info2www