GCC CMS EXEC Use the GCC command to compile and assemble a C source file using the GNU C compiler. Then use the LOAD and START commands to run the program: gcc hello load hello start The format of the GCC command is: +----------+------------------------------------------------------------------+ | GCC | [fn [ft|C [fm|A]]] [( [options] | | | options: | | | ASM|NOASM CSECT|NOCSECT KEEP|NOKEEP LIB fn | | | OS|CMS PARM fn | +----------+------------------------------------------------------------------+ where: fn [ft [fm]] identifies the C source file to be compiled. ft defaults to C and fm defaults to A. Options: ASM|NOASM specifies whether the ASSEMBLE output file from the C compiler is to be assembled or not. ASM is the default. CSECT|NOCSECT specifies that the blank CSECT statement produced by GCC is to be given a label. NOCSECT is the default. CSECT is required only when building a library of C routines. KEEP|NOKEEP specifies whether or not the assembler output files from the C compiler are to be kept or erased. NOKEEP is the default. LIB fn specifies the runtime library with which the program is to be compiled. GCC will link and access the appropriate disk containing the C header files. Two runtime libraries are available: GCCLIB uses only "native" CMS functions for system services. Using this library it is possible to write programs that may be loaded into resident memory as extensions of the CMS nucleus. For example, you can open CMS files directly by name. Ensure GCCLIB is in your list of GLOBAL TXTLIBs to run your compiled progam. Type HELP GCCLIB for more information. PDPCLIB uses simulated OS functions for system services, just like FORTRAN or PL/I. For example, you must use the FILEDEF command to identify CMS files to your program. Ensure PDPCLIB is in your list of GLOBAL TXTLIBs to run your compiled progam. LIB PDPCLIB is the default. OS|CMS OS is shorthand for LIB PDPCLIB. CMS is shorthand for LIB GCCLIB. PARM fn specifies a file of type PARM containg arguments to pass to GCC. By default 'GCC PARM *' is used. Usage Notes: 1. To compile a C program called HELLO C A, type GCC HELLO To run the program, you must have the appropriate TXTLIB specified. Use the GLOBAL command to do this: GLOBAL TXTLIB PDPCLIB Now you can load and run the program: LOAD HELLO START Alternatively you can create a module of your program: LOAD HELLO GENMOD HELLO Now you can invoke the program by typing its name: HELLO 2. If your program does any I/O you must use the FILEDEF command to define those files to your program. Then in the program refer to the ddname you specified on the FILEDEF command. For example, if in your C program you code: fopen("DD:TEST", "w"); You would need to issue this FILEDEF command before running the program: FILEDEF TEST DISK TEST DATA A (LRECL 80 RECFM V 3. The source code for the GCC compiler and runtime libraries is on the GCCCMS userid disks. 4. An alternate runtime library called GCCLIB is available for C programs. This runtime library lets you code C programs that directly access CMS system services. Type HELP GCCLIB for more information.