Updated: 21 April 1999
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
Appendix A
Programming Tools
Appendix B
Built-In Functions
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 (§r.10.1)
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.19.1
Using Quotation Marks
2.2.19.2
Using Angle Brackets
2.2.19.3
Including Text Modules
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
Previous
Next
Contents
Index
Legal