HP OpenVMS Systems

C Programming Language
Content starts here HP C

User's Guide for OpenVMS Systems

Begin Index

Contents (summary)
Preface Preface
Chapter 1 Developing HP C Programs
Chapter 2 Using OpenVMS Record Management Services
Chapter 3 Using HP 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 Migrating from VAX C
Appendix B Common Pitfalls
Appendix C Programming Tools
Appendix D HP C Compiler Messages
Appendix E HP C Limits


Preface Preface
Chapter 1
1 Developing HP C Programs
     1.1     DCL Commands for Program Development
     1.2     Creating an HP C Program
         1.2.1         Using TPU
         1.2.2         The EVE Interface to TPU
     1.3     Compiling an HP C Program
         1.3.1         The CC Command
                Including Header Files
                Listing Header Files
         1.3.2         Compilation Modes
         1.3.3         Microsoft Compatibility Compilation Mode
                Unnamed Nested struct or union Members
                Block Scope Declaration of static Functions
                Treat &* as Having No Effect
                char is Not Treated as a Unique Type
                Double Semicolons in Declarations
                Declaration without a Type
                Enumerators in an Enumeration Declaration
                Useless Typedefs
                Unrecognized Pragmas Accepted
         1.3.4         CC Command Qualifiers
         1.3.5         Compiler Diagnostic Messages
     1.4     Linking an HP 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 an HP C Program
     1.6     Passing Arguments to the main Function
     1.7     64-bit Addressing Support
         1.7.1         Qualifiers and Pragmas
                The /POINTER_SIZE Qualifier
                The __INITIAL_POINTER_SIZE Macro
                The /CHECK=POINTER_SIZE Qualifier
         1.7.2         Determining Pointer Size
                Special Cases
                Mixing Pointer Sizes
         1.7.3         Header File Considerations
         1.7.4         Prologue/Epilogue Files
                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 HP 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 HP 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         HP C Default Parameter-Passing Mechanisms
     3.3     Interlanguage Calling
         3.3.1         Calling HP FORTRAN
         3.3.2         Calling VAX MACRO
         3.3.3         Calling HP BASIC
         3.3.4         Calling HP 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