Creating and executing programs using z/OS UNIX System Services

The interface to the linkage editor for z/OS UNIX System Services (z/OS UNIX) C applications is the z/OS UNIX c89 utility or the cc utility, and for C++ applications it is the c++ utility. You can use them to compile and link-edit a z/OS UNIX C/C++ program in one step, or link-edit application object modules after the compilation. You must, however, invoke one of the z/OS UNIX shells before you can run the c89 utility. For more information on using these utilities, see z/OS UNIX System Services Command Reference.

Fortran applications are not supported under z/OS UNIX. When POSIX threading services are used, Fortran routines can only run in the initial process thread (IPT).

COBOL programs are supported under z/OS UNIX. See Running COBOL programs under z/OS UNIX for more information.

Enterprise PL/I for z/OS has support for z/OS UNIX that is essentially the same as that of C++. Therefore everything in this topic that applies to C++ is also applicable to Enterprise PL/I for z/OS.

PL/I for MVS & VM routines are supported under z/OS UNIX. PL/I for MVS & VM routines can run in the IPT without any unique restrictions other than those described in the appropriate migration guide in the IBM Enterprise PL/I for z/OS library. PL/I for MVS & VM routines can run in the non-IPTs created by C/C++ routines with some restrictions. Limited PL/I – C/C++ ILC is supported in non-IPTs. See Basic link-editing and running PL/I routines under z/OS UNIX with POSIX(ON) for more information.

PL/I MTF applications require z/OS UNIX services. PL/I MTF applications do not support ILC with C/C++ and must not invoke any z/OS UNIX services through an assembler program; otherwise the results are unpredictable.