Compilers/Language-Specific

C++ compiler

Product Overview

C++ is a native programming language product which generates highly optimized object code. VSI C++ for OpenVMS is based on the ANSI/ISO C++ International Standard, reference designation number ISO/IEC 14882:1998. In addition to this standard, VSI C++ supports the ARM, GNU, and MS dialects.

Latest Version

Alpha Integrity X-86
V7.4-8 V7.4-6 V10.1-2U1

Features

VSI C++ for OpenVMS provides the following features:

  • Extensive error checking diagnostics.
  • Automatic template instantiation compatible with older compilers for the OpenVMS Alpha platform. New ELF comdat-based template instantiation model for the OpenVMS Integrity servers platform.
  • Enhanced debugger support.
  • Language mode and diagnostic message options increase compatibility with earlier versions of the compiler, as well as with other implementations of C++.
  • Fast compilation and increased code optimization by directly translating C++ source programs to object files.
  • Extensive global and local optimizations of generated code for increased performance.
  • 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.
  • Compiler-generated listing file, including optional: machine code, micro expansion, and compilation statistics.
  • Data types for numeric, non-numeric, and systems programming.
  • Integration into the Program Development Environment:
    • Generation of debug and traceback records for symbolic debugger support;
    • Conformance to the OpenVMS calling standard;
    • Access to OpenVMS run-time libraries 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;
    • Support for generation of diagnostic information that can be used by the VSI Language-Sensitive Editor.

Libraries

VSI C++ for OpenVMS includes access to the following language libraries. Some of these components ship with the compiler kit, while others are shipped with the base OpenVMS operating system:

  • The C++ Standard Library which is an implementation of the ANSI/ISO C++ Standard Library. Portions of this library are implemented using source code licensed from and copyrighted by Rogue Wave Software, Inc.
  • The C++ Class Library which is a set of headers and other files implementing a collection of basic C++ classes, including the pre-ANSI IOSTREAMS classes. This library is provided to support software developers using VSI C++ for OpenVMS in conjunction with pre-existing software that depends upon pre-ANSI library features.
  • The OpenVMS C Run-Time Library header files, reference manual, and library. These components allow programmers to access the rich functionality of the C Run-Time Library.
  • Features to facilitate porting between VSI C++ for OpenVMS and other implementations of the C++ language. The compiler allows you to choose from several C++ language dialects that have evolved over the past several years: MS, GNU, ARM, or ANSI.
    • CXXDEMANGLE, a tool to decode compiler-generated names that enables other tools (besides the compiler and debugger) to present these decoded names to the user.
    • CXXLINK, a facility that lets you link your C++ application. Global names which are displayed by the linker utility are automatically demangled for readability.

Get a license

Most non-Open Source products require a valid license to operate. If you need to get a license for a product or OpenVMS itself, please look at the page describing the possible options.

Migrate to x86

OpenVMS is now available for x86/64 architecture, offering a reliable and up-to-date option to run your software in the future.
We are ready to give you all the information needed to evaluate the migration project, move your solutions to x86, and start using them in a working environment.