[an error occurred while processing this directive]

HP OpenVMS Systems

C Programming Language
Content starts here HP C

HP C
User's Guide for OpenVMS Systems


Previous Contents Index

Appendix B
Appendix B Common Pitfalls
Appendix C
Appendix C Programming Tools
     C.1     OpenVMS Debugger
         C.1.1         Compiling and Linking to Prepare for Debugging
         C.1.2         Starting and Terminating a Debugging Session
         C.1.3         Notes on HP C Support
             C.1.3.1             Debugger Command-Line Options
             C.1.3.2             Accessing Scalar Variables
             C.1.3.3             Accessing Arrays
             C.1.3.4             Accessing Character Strings
             C.1.3.5             Accessing Structures and Unions
             C.1.3.6             Sample Debugging Session
     C.2     OpenVMS Text Processing Utility
     C.3     Language-Sensitive Editor and the Source Code Analyzer
         C.3.1         Preparing an SCA Library
         C.3.2         Starting and Terminating an LSE or an SCA Session
         C.3.3         Programming Language Placeholders and Tokens
         C.3.4         Compiling Source Code
         C.3.5         LSE Examples
             C.3.5.1             Compilation Unit
             C.3.5.2             Preprocessor Lines
     C.4     CDD/Repository
         C.4.1         Using CDD/Repository
         C.4.2         Accessing CDD/Repository from HP C Programs
         C.4.3         Support for CDD/Repository Data Types
Appendix D
Appendix D HP C Compiler Messages
Appendix E
Appendix E HP C Limits
     E.1     Contents of <float.h>
     E.2     Contents of <limits.h>
Glossary
Glossary Glossary
Index
Index
Examples
1-1 Echo Program Using Command-Line Arguments
1-2 Watch Out for Pointers to Pointers (**)
1-3 Trivial 64-Bit Exploitation
1-4 Preceding Example No Longer Trivial
2-1 External Data Declarations and Definitions
2-2 Main Program Section
2-3 Function Initializing RMS Data Structures
2-4 Internal Functions
2-5 Utility Function: Adding Records
2-6 Utility Function: Deleting Records
2-7 Utility Function: Typing the File
2-8 Utility Function: Printing the File
2-9 Utility Function: Updating the File
3-1 Passing Floating-Point Arguments by Immediate Value
3-2 Passing Arguments by Reference
3-3 Passing Arguments by Descriptor
3-4 Passing Compile-Time String Descriptors
3-5 HP C Function Calling a HP FORTRAN Subprogram
3-6 HP FORTRAN Subprogram Calling a HP C Function
3-7 HP C Function Emulating a HP FORTRAN CHARACTER*(*) Function
3-8 VAX MACRO Program Calling a HP C Function
3-9 HP C Program Calling a VAX MACRO Program
3-10 HP C Function Calling a HP BASIC Function
3-11 HP BASIC Program Calling a HP C Function
3-12 HP C Function Calling a HP Pascal Routine
3-13 HP Pascal Program Calling a HP C Function
3-14 Sharing Data with a FORTRAN Program in Named Program Sections
3-15 Sharing Data with a FORTRAN Program in a HP C Structure
3-16 Sharing Data with a PL/I Program in Named Program Sections
3-17 Sharing Data with a PL/I Program in a HP C Structure
3-18 Sharing Data with a MACRO Program in a HP C Structure
3-19 Checking System Service Return Values
3-20 Using Variable-Length Argument Lists
3-21 Testing for Success
3-22 Testing for Specific Return Status Values
3-23 Passing Arguments to System Services
3-24 Determining$QIO Completion
3-25 Using Time Routines
4-1 Using Global Variables
5-1 #pragma extern_model Example
C-1 Debugging Sample Program SCALARS.C
C-2 Debugging Sample Program ARRAY.C
C-3 Debugging Sample Program STRING.C
C-4 Debugging Sample Program STRUCT.C
C-5 Debugging Sample Program ARSTRUCT.C
C-6 Debugging Sample Program POWER.C
C-7 A Sample Debugging Session
Figures
1-1 DCL Commands for Developing Programs
3-1 The Call Stack
3-2 Structure of an OpenVMS VAX Argument List
3-3 Example of an OpenVMS VAX Argument List
3-4 Passing Arguments by Immediate Value
3-5 Bit Fields Within a Return Status Value
3-6 Internal Representation of a Status Value
4-1 VAX Structure Alignment
4-2 OpenVMS Bit-Field Alignment
Tables
1 Conventions Used in this Guide
1-1 /ACCEPT Qualifier Options
1-2 /ANNOTATIONS Qualifier Options
1-3 /ARCHITECTURE Qualifier Options
1-4 /ASSUME Qualifier Options
1-5 /CHECK =POINTER_SIZE Qualifier Options
1-6 /COMMENTS Qualifier Options
1-7 Debugger Compilation Options
1-8 /EXTERN_MODEL Qualifier Options
1-9 /FLOAT Qualifier Options
1-10 /IEEE_MODE Options
1-11 /MACHINE_CODE Qualifier Options (VAX ONLY)
1-12 /MMS_DEPENDENCIES Qualifier Options
1-13 /NAMES Qualifier Option1 Values
1-14 /NAMES Qualifier Option2 Values
1-15 /NESTED_INCLUDE_DIRECTORY Qualifier Options
1-16 /OPTIMIZE Qualifier Options
1-17 /PDSC_MASK Qualifier Options
1-18 /POINTER_SIZE Qualifier Options
1-19 /PRECISION Qualifier Options
1-20 /PREFIX_LIBRARY_ENTRIES Qualifier Options
1-21 /PROTOTYPE Qualifier Options
1-22 /REENTRANCY Qualifier Options
1-23 /SHOW Qualifier Options
1-24 /STANDARD Qualifier Options
1-25 /WARNINGS Qualifier Options
1-26 OpenVMS Linker Default File Types for Input Files
2-1 Common RMS Run-Time Processing Functions
2-2 HP C RMS Header Files
2-3 RMS Data Structures
3-1 VAX Register Usage
3-2 Alpha Register Usage
3-3 Status Values of SYS$SETEF
3-4 Status Values of SYS$READEF
3-5 Valid Class Codes
3-6 Atomic Data Types
3-7 Status Values of SYS$SETPRN
3-8 Valid Parameter-Passing Mechanisms in HP C
3-9 Default Passing Mechanisms
3-10 OpenVMS Run-Time Library Facilities
3-11 OpenVMS System Services
3-12 HP C Implementation
3-13 Possible Severity Values
3-14 Facility Codes
4-1 Location, Lifetime, and the Storage-Class Keywords
4-2 Floating-Point Formats
4-3 Program-Section Attributes
4-4 External Models and Definitions
4-5 Combinations of Storage-Class Specifiers and Modifiers (ALPHA, I64)
4-6 Combinations of Storage-Class Specifiers and Modifiers (VAX ONLY)
4-7 Combination Attributes
5-1 Comparison of Mixing Different extern_models
5-2 Integer Register Mapping
5-3 Floating-Point Register Mapping
6-1 Predefined System Identification Macros
6-2 :_ ,_ DECC_VER Version-Type Encodings
6-3 Standards Macros---All platforms
A-1 Trigraphs
A-2 Nonstandard Keywords
A-3 New and Traditional Spellings of Macros
C-1 Commands to Manipulate Tokens and Placeholders
C-2 Mapping Between CDD/Repository and HP C Data Types

Previous Next Contents Index