[an error occurred while processing this directive]

HP OpenVMS Systems

C Programming Language
Content starts here Compaq C

Compaq C
User's Guide for OpenVMS Systems


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Developing Compaq C Programs
Chapter 2 Using OpenVMS Record Management Services
Chapter 3 Using Compaq C in the Common Language Environment
Chapter 4 Data Storage and Representation
Chapter 5 Preprocessor Directives
Chapter 6 Predefined Macros and Built-In Functions
Appendix A VAX C to Compaq C Differences
Appendix B Common Pitfalls
Appendix C Programming Tools
Appendix D Compaq C Compiler Messages
Appendix E Compaq C Limits
  Glossary
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Developing Compaq C Programs
     1.1     DCL Commands for Program Development
     1.2     Creating a Compaq C Program
         1.2.1         Using TPU
         1.2.2         The EVE Interface to TPU
     1.3     Compiling a Compaq C Program
         1.3.1         The CC Command
             1.3.1.1             Including Header Files
             1.3.1.2             Listing Header Files
         1.3.2         Compilation Modes
         1.3.3         Microsoft Compatibility Compilation Mode
             1.3.3.1             Unnamed Nested struct or union Members
             1.3.3.2             Block Scope Declaration of static Functions
             1.3.3.3             Treat &* as Having No Effect
             1.3.3.4             Integer and Pointer Comparisons without a Cast
             1.3.3.5             char is Not Treated as a Unique Type
             1.3.3.6             Double Semicolons in Declarations
             1.3.3.7             Declaration without a Type
             1.3.3.8             Enumerators in an Enumeration Declaration
             1.3.3.9             Useless Typedefs
             1.3.3.10             Unrecognized Pragmas Accepted
         1.3.4         CC Command Qualifiers
         1.3.5         Compiler Diagnostic Messages
     1.4     Linking a Compaq C Program
         1.4.1         The LINK Command
         1.4.2         LINK Command Qualifiers
         1.4.3         Linker Input Files
         1.4.4         Linker Output Files
         1.4.5         Linking Against Object Module Libraries and Shareable Images
         1.4.6         Object Module Libraries
         1.4.7         Linker Error Messages
     1.5     Running a Compaq C Program
     1.6     Passing Arguments to the main Function
     1.7     64-bit Addressing Support (ALPHA ONLY)
         1.7.1         Qualifiers and Pragmas
             1.7.1.1             The /POINTER_SIZE Qualifier
             1.7.1.2             The __INITIAL_POINTER_SIZE Macro
             1.7.1.3             The /CHECK=POINTER_SIZE Qualifier
             1.7.1.4             Pragmas
         1.7.2         Determining Pointer Size
             1.7.2.1             Special Cases
             1.7.2.2             Mixing Pointer Sizes
         1.7.3         Header File Considerations
         1.7.4         Prologue/Epilogue Files
             1.7.4.1             Rationale
             1.7.4.2             Using Prologue/Epilogue Files
         1.7.5         Avoiding Problems
         1.7.6         Examples
Chapter 2
2 Using OpenVMS Record Management Services
     2.1     RMS File Organization
         2.1.1         Sequential File Organization
         2.1.2         Relative File Organization
         2.1.3         Indexed File Organization
     2.2     Record Access Modes
     2.3     RMS Record Formats
     2.4     RMS Functions
     2.5     Writing Compaq C Programs Using RMS
         2.5.1         Initializing File Access Blocks
         2.5.2         Initializing Record Access Blocks
         2.5.3         Initializing Extended Attribute Blocks
         2.5.4         Initializing Name Blocks
     2.6     RMS Example Program
Chapter 3
3 Using Compaq C in the Common Language Environment
     3.1     Basic Calling Standard Conventions
         3.1.1         Register and Stack Usage
         3.1.2         Return of the Function Value
         3.1.3         The Argument List
     3.2     Specifying Parameter-Passing Mechanisms
         3.2.1         Passing Arguments by Immediate Value
         3.2.2         Passing Arguments by Reference
         3.2.3         Passing Arguments by Descriptor
         3.2.4         Compaq C Default Parameter-Passing Mechanisms
     3.3     Interlanguage Calling
         3.3.1         Calling Compaq FORTRAN
         3.3.2         Calling VAX MACRO
         3.3.3         Calling Compaq BASIC
         3.3.4         Calling Compaq Pascal
     3.4     Sharing Global Data
         3.4.1         Sharing Program Sections with FORTRAN Common Blocks
         3.4.2         Sharing Program Sections with PL/I Externals
         3.4.3         Sharing Program Sections with MACRO Programs
     3.5     OpenVMS Run-Time Library Routines
     3.6     OpenVMS System Services Routines
     3.7     Calling Routines
         3.7.1         Determining the Type of Call
         3.7.2         Declaring an External Routine and Its Arguments
         3.7.3         Calling the External Routine
         3.7.4         System Routine Arguments
         3.7.5         Symbol Definitions
         3.7.6         Condition Values
         3.7.7         Checking System Service Return Values
     3.8     Variable-Length Argument Lists in System Services
     3.9     Return Status Values
         3.9.1         Format of Return Status Values
         3.9.2         Manipulating Return Status Values
         3.9.3         Testing for Success or Failure
         3.9.4         Testing for Specific Return Status Values
     3.10     Examples of Calling System Routines


Previous Next Contents Index