United States    
COMPAQ STORE | PRODUCTS |
SERVICES | SUPPORT | CONTACT US | SEARCH
C++
Compaq C++

Compaq C++
Using Compaq C++ for OpenVMS Alpha


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Building and Running C++ Programs
Chapter 2 C++ Implementation
Chapter 3 C++ Language Environment
Chapter 4 Porting to Compaq C++
Chapter 5 Using Templates
Chapter 6 Handling C++ Exceptions
Chapter 7 The C++ Standard Library
Chapter 8 Using the OpenVMS Debugger
Chapter 9 Using 64-bit Address Space
Appendix A Programming Tools
Appendix B Built-In Functions
Appendix C Class Library Restrictions
  Index
  Figures
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Building and Running C++ Programs
     1.1     Using the DECTPU Text Editor
     1.2     Using the Compiler
         1.2.1         Compiler Command Qualifiers
         1.2.2         Compiler Error Messages
     1.3     Linking a Program
         1.3.1         CXXLINK Interactions with OpenVMS Linker Qualifiers
         1.3.2         Migrating from LINK to CXXLINK
         1.3.3         Linking to the C++ Standard Library
         1.3.4         Linking to the C++ Class Library
             1.3.4.1             Linking Against the Class Library Object Library
             1.3.4.2             Linking Against the Class Library Shareable Image
         1.3.5         Linker Command Qualifiers
         1.3.6         Linker Error Messages
     1.4     Running a C++ Program
         1.4.1         Run-Time Errors
         1.4.2         Passing Arguments to the main Function
     1.5     Name Demangling
         1.5.1         Creating the Data File
         1.5.2         Using the CXXDEMANGLE Facility
     1.6     Features Specific to OpenVMS Alpha Systems
         1.6.1         OpenVMS Calling Standard Conventions
         1.6.2         D-Float Support
         1.6.3         Built-In Functions
     1.7     Performance Optimization Options
     1.8     Improving Build Performance
     1.9     Deploying Your Application
         1.9.1         Redistribution of the DECC$CRTL.OLB Object Library
         1.9.2         Redistribution of the LIBCXXSTD.OLB Object Library
Chapter 2
2 C++ Implementation
     2.1     Implementation-Specific Attributes
         2.1.1         #pragma Preprocessor Directive
             2.1.1.1             #pragma define_template Directive
             2.1.1.2             #pragma environment Directive
             2.1.1.3             #pragma extern_model Directive
             2.1.1.4             #pragma extern_prefix Directive
             2.1.1.5             #pragma function Directive (Alpha only)
             2.1.1.6             #pragma intrinsic Directive (Alpha only)
             2.1.1.7             #pragma [no]member_alignment Directive
             2.1.1.8             #pragma message Directive
             2.1.1.9             #pragma module Directive
             2.1.1.10             #pragma once Directive
             2.1.1.11             #pragma pack Directive
             2.1.1.12             #pragma [no]standard Directive
         2.1.2         Predefined Names
         2.1.3         Translation Limits
         2.1.4         Numerical Limits
         2.1.5         Argument-Passing and Return Mechanisms
     2.2     Implementation Extensions and Features
         2.2.1         Identifiers
             2.2.1.1             External Name Encoding
             2.2.1.2             Modifying Long Names
         2.2.2         Order of Static Object Initialization
         2.2.3         Integral Conversions
         2.2.4         Floating-Point Conversions
         2.2.5         Explicit Type Conversion
         2.2.6         The sizeof Operator
         2.2.7         Explicit Type Conversion
         2.2.8         Multiplicative Operators
         2.2.9         Additive Operators (§r.5.7)
         2.2.10         Shift Operators (§r.5.8)
         2.2.11         Equality Operators
         2.2.12         Type Specifiers
         2.2.13         asm Declarations
         2.2.14         Linkage Specifications
         2.2.15         Class Layout
             2.2.15.1             Structure Alignment
             2.2.15.2             Bit-Fields
             2.2.15.3             Access Specifiers
             2.2.15.4             Class Subobject Offsets
         2.2.16         Virtual Function and Base Class Tables
         2.2.17         Multiple Base Classes
         2.2.18         Temporary Objects
             2.2.18.1             Lifetime of Temporary Objects
             2.2.18.2             Nonconstant Reference Initialization with a Temporary Object
             2.2.18.3             Static Member Functions Selected by Expressions Creating Temporary Objects
         2.2.19         File Inclusion
         2.2.20         Nested Enums and Overloading
         2.2.21         Guiding Declarations
     2.3     Alternative Tokens
     2.4     Run-time Type Identification
     2.5     Message Control and Information Options
Chapter 3
3 C++ Language Environment
     3.1     Using Existing C Header Files
         3.1.1         Providing C and C++ Linkage
         3.1.2         Resolving C++ Keyword Conflicts
         3.1.3         Handling Scoping Issues
         3.1.4         Support for <stdarg.h> and <varargs.h> Header Files
     3.2     Using Compaq C++ with Other Languages
     3.3     Linkage to Non-C++ Code and Data
     3.4     How to Organize Your C++ Code
         3.4.1         Code That Does Not Use Templates
         3.4.2         Code That Uses Templates
         3.4.3         Summary
         3.4.4         Creating Libraries
     3.5     Sample Code for Creating OpenVMS Shareable Images
     3.6     Hints for Designing Upwardly Compatible C++ Classes
         3.6.1         Source Compatibility
         3.6.2         Link Compatibility
         3.6.3         Run Compatibility
         3.6.4         Additional Reading


Previous Next Contents Index
  

1.800.AT.COMPAQ

privacy and legal statement