Guide to VAX C

Order Number: AA-L370D-TE

This document, "Guide to VAX C (Order Number: AA-L370D-TE)", published in February 1989 by Digital Equipment Corporation, serves as a comprehensive reference for VAX C programmers.

Intended Audience: It is designed for experienced programmers who need to learn VAX C, understand its distinctions from other C implementations, or require a detailed reference for existing VAX C usage. The guide positions VAX C within the historical context of the C programming language and its specific interaction with the VMS operating system.

Core Content Areas: The manual is organized into three main parts, covering:

  1. Developing VAX C Programs on VMS Systems:

    • Explains how to create, compile, link, and execute VAX C programs using Digital Command Language (DCL) commands.
    • Details the use of the VMS Debugger for program analysis and error detection.
    • Introduces VAX C's support for parallel processing, including methods to decompose for and while loops for concurrent execution on multiprocessor systems, and related tuning issues.
  2. VAX C Programming Concepts:

    • Provides a tutorial on the VAX C language, covering fundamental concepts such as program structure, function definitions and declarations, parameters and arguments, identifiers, language keywords, and code blocks.
    • Explores expressions and operators, various data types and declarations (integers, floating-point numbers, pointers, enumerated types, arrays, structures, unions), storage classes and allocation, and preprocessor directives.
  3. Using VAX C Features on VMS Systems:

    • Describes how to leverage VMS-specific features within VAX C programs, particularly VAX Record Management Services (RMS) for file handling.
    • Explains interlanguage calling conventions, allowing VAX C programs to interact with routines written in other VAX languages (like FORTRAN, MACRO, BASIC, Pascal) and VMS System Services or Run-Time Library routines.
    • Includes notes on VAX C implementation specifics like program sections (psects).

Key Features and Updates (Version 3.0 highlights): The document highlights several new and changed features specific to VAX C Version 3.0, including:

  • Parallel Processing: Extensive support for parallel execution of for and while loops using the /PARALLEL compiler qualifier and decomposition pragmas (ignore_dependency, safe_call, sequential_loop).
  • Performance Enhancements: Automatic inline expansion of function code and improved memory management functions (malloc, calloc, free, cfree, realloc).
  • Preprocessor Output: Ability to generate separate preprocessor output using /PREPROCESS_ONLY.
  • Language Extensions: Increased identifier name length (up to 255 characters), and built-in functions providing direct access to VAX instructions.
  • Portability: Updates to /STANDARD=PORTABLE behavior and the introduction of the CC$parallel predefined macro.

The guide also includes appendices detailing VAX C definition modules, compiler messages, optional programming tools (like VAX Language-Sensitive Editor (LSE) and VAX Source Code Analyzer (SCA)), a language summary, and multiprocess debugging configurations.

AA-L370D-TE
January 1989
625 pages
Quality

Original
21MB

Site structure and layout ©2025 Majenko Technologies