Back: Unix/Windows Miscellaneous
Forward: Brief History of C++
FastBack: History
Up: Top
FastForward: Dynamic Loading
Top: Autoconf, Automake, and Libtool
Contents: Table of Contents
Index: Index
About: About this document

16. Writing Portable C++ with GNU Autotools

My first task in industry was to port a large C++ application from one Unix platform to another. My colleagues immediately offered their sympathies and I remember my initial reaction--`what's the big deal?'. After all, this application used the C++ standard library, a modest subset of common Unix system calls and C++ was approaching ISO standardization. Little did I know what lay ahead--endless hurdles imposed by differences to C++ implementations in use on those platforms.

Being essentially a superset of the C programming language, C++ suffers from all of the machine-level portability issues described in 15. Writing Portable C with GNU Autotools. In addition to this, variability in the language and standard libraries present additional trouble when writing portable C++ programs.

There have been comprehensive guides written on C++ portability (see section 16.5 Further Reading). This chapter will attempt to draw attention to the less portable areas of the C++ language and describe how the GNU Autotools can help you overcome these (see section 16.4 How GNU Autotools Can Help). In many instances, the best approach to multi-platform C++ portability is to simply re-express your programs using more widely supported language constructs. Fortunately, this book has been written at a time when the C++ language standard has been ratified and C++ implementations are rapidly conforming. Gladly, as time goes on the necessity for this chapter will diminish.

This document was generated by Gary V. Vaughan on February, 8 2006 using texi2html