HP OpenVMS Systems

C++ Programming Language
Content starts here


PRODUCT NAME: Compaq C++ Version 5.6C for OpenVMS VAX SPD 37.39.12

December 1999


Compaq C++ for OpenVMS VAX is a native programming language product that generates optimized position-independent code without employing an intermediate translation to C. Compaq C++ is based on The Annotated C++ Reference Manual (ARM), by Ellis and Stroustrup. In addition to ARM, Compaq C++ supports CFRONT and MS dialects.

Compaq C++ includes:

  • A subset of the ANSI C++ Standard Library, including the string library, numeric_limits, auto_ptr, standard exception classes, complex math library, and the Standard Template Library (STL) updated to a subset of the September 1996 ANSI C++ draft. Portions of the ANSI C++ Standard Library have been implemented using source licensed from and copyrighted by Rogue Wave Software, Inc.
  • A Compaq C++ Class Library containing the following packages: iostream, complex, generic, objection, stopwatch, string, task, messages, and vector.
  • ANSI/ISO C header files enhanced for use with the Compaq C++ compiler. These headers are currently packaged with Compaq C++. Packaging of the headers is subject to change as they become available in subsequent releases of related products.
  • Features to facilitate porting to Compaq C++ from other C++ implementations. The /STANDARD=CFRONT option relaxes error checking for better compatibility with C++ compilers based on the AT&T "cfront" translator. The /STANDARD=MS option provides better compatibility with Microsoft's Visual C++tm.
  • Automatic instantiation of templates
  • A name demangler that enables other tools (besides the compiler and debugger) to present demangled names to the user.

Compaq C++ documentation provides comprehensive reference and usage information for all product components. Online help is provided with the software, and HTML files are provided for the release notes and some of the product manuals for use with a web browser.

HTML file are also provided on the Layered Products CD-ROM for the following manuals:

  • Using Compaq C++ for OpenVMS VAX
  • Compaq C++ Installation Guide for OpenVMS VAX
  • Compaq C++ Class Library Reference Manual

Hardcopy documentation is available by ordering the separate software documentation kit. The hardcopy documentation also includes a copy of an authoritative book on C++, the C++ Programming Language, 3rd edition, by Bjarne Stroustrup, and a copy of the STL Tutorial and Reference Guide, by David R. Musser and Atul Saini.


  • Fast compilation and increased code optimization by directly translating C++ source programs to OpenVMS object files
  • Extensive global and local optimizations of generated code for increased performance under OpenVMS
  • Option for running only the preprocessor phase of compilation
  • Pragmas to control compiler options
    • Pragmas to control extern models, sharing of data between concurrent processes, and structure member alignment
  • Separate and combined compilation capabilities
  • Compiler-generated listing file, including optional:
    • Machine code
    • Macro expansion
    • Compilation statistics
  • Data types for numeric, nonnumeric, and systems programming:
    • Compaq C++ supports 8, 16, 32-bit signed and unsigned integers.
    • Compaq C++ supports 32-bit and 64-bit VAX floating-point data types. The VAX floating-point formats include D-float and G-float and are user selectable.
  • Integration into the Program Development Environment:
    • Generation of debug and traceback records for OpenVMS VAX
    • Conforms to the OpenVMS calling standard
    • Access to the OpenVMS Run-time Library for general purpose routines and support of multi-language environments
    • Access to the data management facilities of OpenVMS RMS (Record Management Services)
    • Ability to package C++ code as shareable libraries
    • Ability to use additional class libraries. The Compaq C++ compiler supports logical name search lists in conjunction with the preprocessor directive #include.
    • Support for DIGITAL Language-Sensitive Editor to provide error diagnostics to the Editor

Run-Time Library for C applications

The complete Compaq C Run-Time Library needed for use with Compaq C++ is distributed with the operating system. The Compaq C Run-Time Library provides routines to perform input/output, character and string handling, mathematical computations, memory allocation, and emulation of selected UNIX® features. These routines are provided both in shared image and object module library form. Compaq C++ Class Library

The Compaq C++ Class-Library Run-Time components are distributed with the operating system. The Compaq C++ Class Library provides the following packages: iostream, complex, generic, objection, stopwatch, string, task, message and vector.

Run-time Library Redistribution

The Compaq C++ kit may include run-time library components in shareable image, object library, or saveset form. Compaq grants the user a nonexclusive royalty-free worldwide right to reproduce and distribute these Run-Time Libraries and savesets provided that the user:

  • distributes them only in conjunction with and as a part of the users's software application product, which is designed to operate in the Compaq OpenVMS environment;
  • distributes savesets in their entirety along with their accompanying installation documentation.
  • does not use Compaq's name, logo, or trademarks to market the user's software application product;
  • includes Compaq's copyright notice for Compaq C++ on one of the following:
    a. the user's product disk label
    b. each copy of the application
    c. the title or copyright page of the documentation for the software application product
  • agrees to indemnify, hold harmless, and defend Compaq from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of the software application product. Except as expressly provided herein, Compaq grants no implied or express license under any of its patents, copyrights, trade secrets, trademarks, or any license or other proprietary interests and rights.

For OpenVMS VAX, the only RTL components that may be redistributed are the DECC$CRTL.OLB object library and the AACRT060.A saveset.

Redistribution of DECC$CRTL.OLB is required only by those applications that need to be linked during or after installation on an end user target system. When the library remains on the target system the library must reside in a product-specific location on the target system and not in SYS$LIBRARY. The contents of this object library cannot be inserted into the STARLET library.

For OpenVMS VAX Versions 5.5-2 the Compaq C++ VAX kit includes a separately packaged saveset that contains additional or modified run-time library components needed to execute programs developed with the Compaq C++ compiler and class libraries. Revisions to the run-time components are shipped with the OpenVMS operating system rather than the Compaq C++ compiler, and the components in this special Compaq C++ saveset, or more recent replacements, are included with OpenVMS VAX Version 6.1 or later.


Processors Supported:

Any VAX system that is capable of running OpenVMS VAX Version 5.5-2 to Version 7.2. Refer to the OpenVMS Software Product Description (SPD 25.01.xx) for details.

Disk Space Requirements (Block Cluster Size = 1)

  Compaq C++ for OpenVMS VAX
Disk space required for
Run-Time Kit installation:
15,000 blocks
(7.5 MB)
Disk space required for use
5,000 blocks
(2.5 MB)
Disk space required for
Debug kit installation:
22,000 blocks
(11 MB)
Disk space required for use
1,000 blocks
(0.5 MB)
Disk space required for
compiler kit installation:
52,000 blocks
(25.5 MB)
Disk space required for use
22,00 blocks
(10.5 MB)

These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. The Debug kit saveset installation is not used on OpenVMS VAX Version 6.0 systems, and the Run-Time Kit saveset installation uses greatly reduced space on OpenVMS VAX Version 6.0 systems.


  • Compaq C++ for OpenVMS VAX requires OpenVMS VAX Version 5.5-2 to Version 7.2-1.
  • The graphic user interface (GUI) for the debugger shipped with the Compaq C++ kit requires Motif Version 1.2-4 or higher.


This software is furnished only under a license. For more information about Compaq's licensing terms and policies, contact your local Compaq office.


This layered product supports the OpenVMS License Management Facility.

License units for this product are allocated on a Capacity Use, Personal Use, and Concurrent Use basis.

Each Personal Use license allows one identified individual to use the layered product. Each Concurrent Use license allows any one individual at a time to use the layered product.

For more information on the License Management Facility, refer to the OpenVMS Operating System Software Product Description (SPD 25.01.xx) or the License Management Facility manual of the OpenVMS VAX operating system documentation set.


This layered product is fully supported when installed on any valid and licensed OpenVMS Cluster* configuration without restrictions. The HARDWARE REQUIREMENTS section of this product's Software Product Description detail any special hardware required by this product.

* OpenVMS Cluster configurations are fully described in the OpenVMS Cluster Software Product Description (29.78.xx) and include CI, Ethernet, and Mixed Interconnect configurations.


The following OpenVMS classes are required for full functionality of this layered product:

  • OpenVMS Required Saveset
  • Programming Support
  • Utilities

For more information on OpenVMS classes and tailoring, refer to the OpenVMS Operating System Software Product Description (SPD 25.01.xx).


  • DECset Release 12.3 for OpenVMS VAX Systems which includes:
    • DIGITAL Language-Sensitive Editor (LSE) for OpenVMS Systems
    • DIGITAL Test Manager for OpenVMS Systems
    • DIGITAL Performance and Coverage Analyzer (PCA) for OpenVMS Systems
    • DIGITAL Code Management System (CMS) for OpenVMS Systems
    • DIGITAL Module Management System (MMS) for OpenVMS Systems

    For more information on DECset Release 12.3 for OpenVMS VAX Systems, refer to the Software Product Description (SPD 27.07.xx).


The minimum hardware/software requirements for any future version of this product may be different from the requirements for the current version.


Compaq C++ for OpenVMS VAX is available on the OpenVMS Software Layered Products Library Package (QA-5G88A-H8). The library package includes media and documentation on CD-ROM.

Media/documentation kits containing only the Compaq C++ for OpenVMS VAX products are available separately. The kits contain media on Magtape (9-track 1600 BPI) or TK50 Streaming Tape with hardcopy documentation.

The software documentation for this product is also available as part of the OpenVMS VAX Online Documentation CD-ROM Library (QA-VYR8A-G8). A hardcopy documentation set can be ordered separately (QA-MJ1AA-GZ).


This product is Year 2000 Ready.

Year 2000 Ready is defined: "Year 2000 Ready" products are defined by Compaq as products capable of accurately processing, providing, and/or receiving date data from, into and between the twentieth and the twenty -first centuries, and the years 1999 and 2000, including leap year calculations, when used in accordance with the associated Compaq product documentation and provided that all hardware, firmware and software used in combination with such Compaq products properly exchange accurate date data with Compaq products.

For additional information visit Compaq's DIGITAL Products Year 2000 Ready web site located at http://www.compaq.com/year2000/warranties3.html.


This software is provided by Compaq with a 90 day conformance warranty in accordance with the Compaq warranty terms applicable to the license purchase.


Compaq C++ for OpenVMS VAX Software Licenses:

Software Licenses:

  • Personal Use: QL-MJ1AA-2B
  • Concurrent Use: QL-MJ1AA-3*
  • Traditional/Capacity Use: QL-MJ1A*-**

Software Update Licenses:

  • Personal Use: QL-MJ1AA-4B
  • Concurrent Use: QL-MJ1AA-5*
  • Traditional/Capacity Use: QL-MJ1A*-RA

Software Media/Documentation: QA-MJ1AA-**
Software Documentation: QA-MJ1AA-GZ
Software Product Services: QT-MJ1A*-**

* Denotes variant fields.

The ordering information is valid at the time of release. Please contact your local Compaq office for the most up to date information.


A variety of service options are available from Compaq. For more information, contact your local Compaq office.


® UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Ltd.
® Microsoft and Visual C++ are registered trademarks of Microsoft Corporation.
tm Compaq, the Compaq Logo, DIGITAL, Alpha, DEC, DECset, DECwindows, OpenVMS, VAX, VAX RMS, and VMS are registered in the U.S. Patent and Trademark office.

Other product names mentioned herein may be the trademarks of their respective companies.

© 1998, 1999 Digital Equipment Corporation. All rights reserved.