Using the system programming C facilities
- Using the system programming C facilities, by programs which have been compiled with z/OS XL C++ is not supported.
- IPA is not supported in an SPC environment unless there is a main() function present.
- XPLINK is not supported by the SPC facilities.
- AMODE 64 applications are not supported by the SPC facilities.
When z/OS XL C applications are compiled, many routines are needed to support the z/OS XL C environment that are not included in your executable. These routines, which are in z/OS Language Environment®, are dynamically loaded at run time. This reduces the size of the program to its practical minimum and provides for the sharing of z/OS XL C library code by allowing its placement in Extended Link Pack Areas.
z/OS Language Environment provides facilities to set up the environment, handle termination, provide storage management, error handling, interlanguage calls and debugging support. Also, the C library functions are provided with z/OS Language Environment. In situations where not all of these services are needed or available, or more control over the executive environment is required, the system programming C facilities can provide a reduced customizable environment for your application.
- Use a subset of the C language to develop specialized applications
that do not require z/OS Language
Environment on the
machines where the application will run. You can write freestanding applications that:
- Do not use the dynamic runtime library.
- Use only the C-specific library functions without any z/OS Language Environment facilities to manage the execution environment.
For example, a system programming application could use the C-specific library function printf() but not have the common run time initialize the environment. The system programming facilities would handle initialization. For more information on this type of application, see Creating freestanding applications.
- Use z/OS XL C as
an assembler language alternative, such as for writing exit routines for MVS™, TSO, or JES.
For more information on this type of application, see Creating system exit routines.
- Develop applications featuring a persistent C environment,
where a z/OS XL C environment
is created once and used repeatedly for C function execution.
For more information on this type of application, see Creating and using persistent C environments.
- Develop co-routines using a two-stack model, as used in client-server
style applications. In this style, the user application calls upon
the applications server to perform services independently of the user
and then returns to the user.
For more information on this type of application, see Developing services in the service routine environment.