Using the systems programming environment

Note: This topic applies to C applications only.

As a C routine executes, facilities from the Language Environment common library are invoked to set up the execution environment in order to handle termination activities and provide storage management, error handling, runtime options parsing, ILC, and debugging support. In addition, the C library functions are in the Language Environment common library.

For situations in which not all of these services are needed, the system programming facilities of C can provide a limited environment.

System programming facilities allow you to run applications without using the Language Environment common library, or with just the C library functions, and to:
  • Develop C applications that do not require the Language Environment common library on the machines on which they run.
  • Use C as an assembler language substitute to, for example, write exit routines for MVS™, TSO, or JES.
  • Develop applications featuring:
    • A persistent C environment, in which a C environment is created once and used repeatedly for C function execution from any language.
    • Co-routines that use a two-stack model, as in client-server style applications. In this style, the user application calls on the applications server to perform services independently of the user and then return to the user.

For more information on the system programming facilities of C, see z/OS XL C/C++ Programming Guide.

This topic discusses how to build these applications once you have compiled them with the C compiler. You must compile these programs with the NOSTART option.