DEC C Migration Guide for OpenVMS VAX Systems

*HyperReader

CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Migrating to the DEC C Run-Time Library
    1.1 Why Migrate to the DEC C RTL
    1.2 How to Migrate to the DEC C RTL
      1.2.1      Migrating Using the DEC C Compiler
        1.2.1.1      Linking with the DEC C RTL Shareable Images
        1.2.1.2      Linking with the DEC C RTL Object Libraries
      1.2.2      Migrating VAX C Code Using Shareable Images
      1.2.3      Migrating VAX C Code Using Object Libraries
    1.3 Potential Migration Concerns and Solutions
      1.3.1      Linking /NOSYSSHR with the DEC C RTL Object Libraries
      1.3.2      Behavior Differences Between the VAX C RTL and DEC C RTL
      1.3.3      DEC C RTL Obsolete Features
        1.3.3.1      VAXC$MALLOC_OPT and Related Routines
        1.3.3.2      sys_nerr and sys_nerrlist Global Symbols
      1.3.4      Debugging and the DEC C RTL Object Library
    1.4 C RTL Interoperability Concerns
      1.4.1      Problems with Images that Export C RTL Context
        1.4.1.1      Becoming Encapsulated-Solutions to the General Problem
        1.4.1.2      Issues for File I/O
        1.4.1.3      Considerations for errno
        1.4.1.4      Child Process Context
        1.4.1.5      Random Number Seed
        1.4.1.6      Signal Context
        1.4.1.7      VAXC$CRTL_INIT and Context Initialization for main Program
      1.4.2      Resolving Link-Time Conflicts with Multiple C RTLs
        1.4.2.1      Using VAXC$LCL.OPT
        1.4.2.2      Using VAXC$EMPTY.EXE
        1.4.2.3      Using DECC$EMPTY.EXE
      1.4.3      Distributing Programs to Other Systems-Version Dependency
        1.4.3.1      Using the DEC C/C++ Run-Time Components Kit
        1.4.3.2      Supplying an Alternative Version of SYS$LIBRARY

  2      Migrating to the DEC C Compiler
    2.1 General Porting Approach
    2.2 Coexistence of VAX C & DEC C
    2.3 Compiler Mode and Message Control
      2.3.1      Choosing the Compilation Mode-The /STANDARD Qualifier
      2.3.2      Using Compiler Message Control-/WARNINGS, #pragma message
        2.3.2.1      The /WARNINGS Qualifier
        2.3.2.2      The #pragma message Preprocessor Directive
    2.4 Using Compiler Modes and Message Control to Port your Program
    2.5 New Mechanism for Controlling External Objects
      2.5.1      Extern Model Defaults Have Changed
    2.6 Mixing VAX C and DEC C Object Files
    2.7 Using Predefined Macros to Aid Coexistence of VAX C and DEC C code
    2.8 Additional Information