The JCC C Compiler and Library for MVS

Package level: 26th August 2012

JCC is a C Compiler and Library product to enable applications written in ANSI C to operate under IBM's MVS Operating System. Its global applicability makes it an attractive product for all segments of the platform population including small emulated systems (eg. Hercules) as well as "big iron". JCC is suitable for the 370, 390 and z architectures.

Read the User Agreement from here before downloading or using JCC.

Download the JCC zip package from here. (1.5MB) Click here for the history of updates.

The JCC zip package includes a JCC compiled version of the JCC compiler for running on MVS.

How it works:

JCC runs on a Windows or Linux PC to generate 370 Assembler Source or 370 Object decks. The compiler flag -o switches on an internal assembler that has been designed to create IFOX like output, but in XSD format supporting up to 40 character identifiers.

Global scope name resolution is achieved with prelink, which in turn can be requested to convert output data to that understood by the OS/VS linkage editor. (Object extensions understood by the Program Binder IEWBLINK can also be produced.)

The executables for Windows end in .exe while those for Linux have no suffix.

Features:
The JCC Library now supports "//HFS:" as a file prefix to access HFS files if OMVS is running. You can also access HFS files by using a single slash as the first character in the pathname referencing the desired file. Before using OMVS functions, check the __libc_ussok global variable for a non-zero value to ensure OMVS is available.

ReEntrant compiler object generation for use with the enhanced prelinker (with supplied source code.)

Read/Write file support, these files are handled as fixed block U/V/F datasets where no short blocks can be written. Seeking in this mode is fully cached, but extending a file while another handle has it open for read is not supported. Closing the file allows multiple reader/update handles until the file has once again been re-extended. Note: PDS member files can never be re-extended.

2 record modes with U datasets, and 3 with V datasets with a umode/vmode dcb parm default option in [f]open when used in readonly or writeonly modes.

Remote Debugger support, line mode and Windows GUI versions - debugging only requires a switch on the compile and prelink steps when the compiler's -object generation is switched on. A TCP/IP connection is required and the code must be produced by one of the non-MVS JCC Compilers.

Build example:
jcc -test=pgm.tst -o -Ic:\jcc\include source.c
prelink -test=pgm.tst -s libdir target.obj source.obj [source2.obj...]
Speed Enhancements with common functions 'InLined' by default, 6 stages of code reduction and faster library routines.

(bzero, memchr, memcmp, memcpy, memset, strcpy, strlen, strncmp, strncpy.)
JCC and this web site is Copyright 2003, 2012 Jason Paul Winter.