Chapter Contents

Previous

Next
Linking C Programs

Linking Programs from the UNIX System Services Shell

Under UNIX System Services (USS), the sascc370 command is used to link SAS/C programs as well as to compile them. The syntax of sascc370 is as follows:

sascc370 [options] filename1 [filename2 ... ]

The options argument is a list of compiler options (see Compiler Options), COOL options, and OS/390 linkage editor options. The filename arguments may specify any combination of C source files, object modules, and AR370 archives. Any input source files are compiled, after which the compiler's output is linked with the object files and the archives. If you call sascc370 with a list of files which are all object files and archives, the compiler is not invoked. The object files and archives are passed directly to COOL, and then the output of COOL is passed to the linkage editor.

An object file passed to sascc370 may also contain COOL control statements. (Note that the file must have a name ending with .o for an HFS file or .OBJ for an OS/390 data set.) COOL processes its input files in binary mode. For this reason, an HFS file containing COOL control statements has the following requirements. Each control statement must appear as an 80-byte blank-padded card image, and the control statements must not be separated by new-line characters. One way of creating such an HFS file is to create the control statements in an OS/390 card image data set, and then use the BINARY option of the OCOPY TSO command to copy it to the HFS.

The USS COOL options are described later in COOL Options. To specify OS/390 linkage editor options, the sascc370 -B option is used. Multiple -B specifications can be used, and each -B can specify more than one linkage editor option. For instance, the following command specifies the linkage editor options RENT, LET, and RMODE=24 and stores the output module in the OS/390 PDS userid.PROG.LOAD.

sascc370 -Brent,let -Brmode=24 -o '//prog.load(app4)' app4.o

Note that sascc370 passes the linkage editor MSGLEVEL=4 unless you specify -Bmsglevel= n yourself. This option suppresses linkage editor messages that are not ordinarily wanted. Because this option suppresses the output produced by the linkage editor LIST option, if you specify -Blist you should also specify -Bmsglevel=0 , to allow the LIST messages to be written.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.