Compaq C++
Compaq C++
Using Compaq C++ for Tru64 UNIX and Linux Alpha
Order Number:
AA-PX2BL-TE
April 2002
This manual contains information about developing Compaq C++ programs
on Compaq Tru64 UNIX and Linux Alpha systems.
Revision/Update Information:
This is a revised manual, replacing AA-PX2BK-TE
Software Version:
Compaq C++ Version 6.5 for Tru64 UNIX
Compaq C++ Version 6.5 for Linux Alpha
Compaq Information Technologies Group, L.P.
Houston, Texas
First Printing, March 1993
Tenth Revision, April 2002
© 2002 Compaq Information Technologies Group, L.P.
COMPAQ, the Compaq logo, Alpha, Ladebug, and Tru64 are trademarks of
Compaq Information Technologies Group, L. P. in the U.S. and/or other
countries. Microsoft and Visual C++ are trademarks of Microsoft
Corporation in the U.S. and/or other countries. UNIX is a trademark of
The Open Group in the U.S. and/or other countries. All other product
names mentioned herein may be trademarks of their respective companies.
Portions of the ANSI C++ Standard Library have been implemented using
source licensed from and copyrighted by Rogue Wave Software, Inc.
Information pertaining to the C++ Standard Library has been edited and
reprinted with permission of Rogue Wave Software, Inc. All rights
reserved.
Portions copyright 1994-2002 Rogue Wave Software, Inc.
Confidential computer software. Valid license from Compaq required for
possession, use or copying. Consistent with FAR 12.211 and 12.212,
Commercial Computer Software, Computer Software Documentation, and
Technical Data for Commercial Items are licensed to the U.S. Government
under vendor's standard commercial license.
Compaq shall not be liable for technical or editorial errors or
omissions contained herein. The information is provided "as
is" without warranty of any kind and is subject to change without
notice. The warranties for Compaq products are set forth in the express
limited warranty statements accompanying such products. Nothing herein
should be construed as constituting an additional warranty.
This document is available on CD-ROM.
This document was prepared using DECdocument, Version 3.3-1n.
Preface
This manual contains information for developing and debugging
Compaq C++ programs on Tru64 UNIX and Linux Alpha systems, and includes information
on other Tru64 UNIX and Linux Alpha features and tools that work with Compaq C++.
Note
Most information in this manual applies to both the Tru64 UNIX
and Linux Alpha platforms. The notation
[Tru64] introduces information that applies only to
Tru64 UNIX; the notation [Linux] introductes
information that applies only to Linux Alpha.
|
Intended Audience
This manual is intended for experienced programmers who need to develop
Compaq C++ programs on Tru64 UNIX and Linux Alpha systems. Users of this manual
should have a basic understanding of the C++ language and some
familiarity with the Tru64 UNIX and Linux Alpha operating systems.
Structure of this Document
This manual is organized as follows:
- Chapter 1 shows how to create, compile, link, and run
Compaq C++ programs.
- Chapter 2 describes features and characteristics that are
specific to the Compaq C++ implementation.
- Chapter 3 describes how to modify existing C header files to be
accepted by Compaq C++.
- Chapter 4 contains tips for moving applications built with other
C++ implementations to Compaq C++.
- Chapter 5 describes how to use templates with Compaq C++.
- Chapter 6 describes how to use precompiled headers with
Compaq C++.
- Chapter 7 describes the Compaq C++ implementation of the C++
Standard Library.
- Chapter 8 explains how to use C++ exception handling.
- Chapter 9 describes how to use the Ladebug debugger.
- Appendix A describes Class Library restrictions.
- Appendix B describes built-in functions.
- Appendix C describes Third Degree messages generated by the C++
Class and Standard Libraries.
- The
cxx(1)
reference page describes command line options.
Associated Documents
The following documents contain information associated with topics in
this manual:
- Stroustrup, Bjarne. The C++ Programming Language, 3rd Edition. Reading, Massachusetts:
Addison-Wesley, 1997.
Provides an exhaustive introduction to the
C++ programming language, including sophisticated language features.
This book also includes the text but not the annotations of
The Annotated C++ Reference Manual.
- C++ Class Library Reference Manual
This manual describes the class library packages
supplied with Compaq C++.
- Compaq C++ Installation Guide for Tru64 UNIX
This document supplies the information necessary
to install Compaq C++. on Tru64 UNIX systems. Instructions
for installing Compaq C++ on Linux Alpha systems are provided in a
README document supplied with the C++ for Linux Alpha kit.
- The AT&T C++ Language System, Release 2.0, Library
Manual
This document describes the AT&T class library
package.
Related Documents
The following documents are not included in the Compaq C++
documentation set. Refer to them for additional information on the C++
programming language, Compaq C, or Tru64 UNIX and Linux Alpha programming.
- Stroustrup, Bjarne and Margaret Ellis. The Annotated C++ Reference Manual. Reading,
Massachusetts: Addison-Wesley, 1990.
This text contains the current
language definition of C++.
- Carroll, Martin D. and Margaret E. Ellis. Designing and Coding
Reusable C++. Reading, Massachusetts: Addison-Wesley, 1995.
This text provides practical information for designing and
implementing C++ programs.
- Myers, Scott. Effective C++: 50 Specific Ways to Improve Your
Programs and Designs, 3rd edition. Reading, Massachusetts:
Addison-Wesley, 1997.
- Myers, Scott. More Effective C++: 35 New Ways to Improve Your
Programs and Designs. Reading, Massachusetts: Addison-Wesley,
1995.
These texts provide practical information for designing and
implementing C++ programs.
- Tru64 UNIX Programmer's Guide
This guide describes the
programming environment on the Tru64 UNIX operating system,
emphasizing the C programming language.
- Compaq C Language Reference Manual
Provides a complete
technical description of the C language as specified by the ANSI X3J11
committee. This manual also fully describes all extensions to this
standard implemented in Compaq C.
- ULTRIX to Tru64 UNIX Migration Guide
Describes how to
migrate from an ULTRIX system to a Tru64 UNIX system. This
book includes information on porting applications from ULTRIX to
Tru64 UNIX systems.
- International Standard ISO/IEC 14882
Defines the C++ International Standard. The document is available for downloading at the ANSI Electronic Store (start at
The printed version is also available for purchase from the same
web site. Choose "Catalogs/Standards Information", then
"ANSI-ISO-IEC Online Catalog", then search for
"14882".
Conventions Used in this Manual
Table 1 lists the conventions used in this manual.
Table 1 Conventions Used in this Manual
| Convention |
Meaning |
|
%
|
A percent sign (%) is the default user prompt.
|
class complex {
.
.
.
};
|
A vertical ellipsis indicates that some intervening program code or
output is not shown. Only the more pertinent material is shown in the
example.
|
|
,...
|
A horizontal ellipsis in a syntax description indicates that you can
enter additional parameters, options, or values. A comma preceding the
ellipsis indicates that successive items must be separated by commas.
|
The
generic
class...
The
get()
function...
|
Monospaced type denotes the names of Compaq C++ language elements,
and also the names of classes, members, and nonmembers. Monospaced type
is also used in text to reference code elements displayed in examples
and file-name extensions.
|
|
italic
|
Italic type denotes the names of variables that appear as parameters or
in arguments to functions, and also denotes book titles.
|
|
boldface
|
Boldface type in text indicates the first instance of terms defined in
text.
|
UPPERCASE
lowercase
|
The Tru64 UNIX and Linux Alpha operating systems distinquish between uppercase and
lowercase characters. Literal strings that appear in text, examples,
syntax descriptions, and function definitions must be entered exactly
as shown.
|
|
cxx
(1)
|
Cross-references to reference pages include the appropriate section
number in parentheses.
|
Reader's Comments
You may send comments or suggestions regarding this manual, or any
Compaq C++ document, by electronic mail to the following Internet
address:
compaq_cxx@compaq.com
.
Include the title of the document, section and page number where the
error occurred.
Product Support
Premium support is available on a per-incident basis
http://www.compaq.com/services/perevent/per_sw.html
and annual contracts
http://www.compaq.com/services/software/ss_tru64_unix.html
from Compaq Services in the US and some other countries.
In the US and Canada, call, toll-free, 1-800-354-9000. In other countries, support phone numbers are available on the web at
http://www.compaq.com/alphaserver/support_phone.html.
Free support is limited to bug reports that can be sent to
compaq_cxx.bugs@compaq.com.
Send a complete but short example reproducing the problem, including
the following:
- Compiler and operating system versions
- All necessary sources (such as INCLUDE files and module sources)
- Data files
- Commands used to compile, link and run the program
- Expected results and incorrect results obtained
Please try to reduce the problem to as small a source as possible,
because we may be unable to diagnose large applications.
We answer most quickly those problem reports that include a small but
complete reproducible example, along with descriptions of the compile
and link options used and the exact text of any diagnostic messages or
other incorrect results. Reports that include only program fragments or
involve very large applications generally will not be accepted.
Please note that this is not a "programming consulting
service" and that you should have clear evidence of a product
problem before contacting us. If you need consulting services, please
contact Compaq Services.
|