//CXX2PLI JOBCARD INFORMATION //*----------------------------------------------------------------- //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: CXX2PLI //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES A C++ MAIN CALLING A //* PLI ROUTINE, WHICH TAKES A PARAMETER LIST. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* CXX2PLIC, CXX2PLIP, AND CXX2PLI //* THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES. //* MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED: //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRA) //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRB) //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPIRC) //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(IBMBPRCA) //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(PLISTART) //* LSCL102 WARNING: CAN'T OPEN FILE DURING AUTOCALL: SYSLIB(WRITER) //*----------------------------------------------------------------- //***************************************************************** //* NOTE: Verify the statements indicated by the "<== CHECK" //* have been customized for the local environment. //***************************************************************** //* PL/I COMPILE //* //PLICOMP EXEC PLI5C <=== CHECK: PROC //SYSLIN DD DSN=your.object.library(CXX2PLIP),DISP=OLD <== CHECK //SYSIN DD DSN=prefix.SAMPLE.ILC(CXX2PLIP),DISP=SHR <== CHECK //* //********************************************** //* //* C++ COMPILE //* //CCOMP EXEC LCXXC,PARM.X='SN(CXXMAIN),NORENT' <=== CHECK: PROC //X.SYSLIN DD DSN=your.object.library(CXX2PLIC),DISP=OLD <== CHECK //X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(CXX2PLIC),DISP=SHR <== CHECK //* //********************************************** //* //* ILC LINKSTEPS //* //ILCLINK EXEC ILCLINK,PARM.LKED='NOTERM' <=== CHECK: PROC //LKED.SYSLMOD DD DSN=your.load.library,DISP=OLD <== CHECK //LKED.SYSARLIB DD DSN=prefix.A,DISP=SHR <== CHECK //LKED.LC370 DD DSN=prefix.BASEOBJ,DISP=SHR <== CHECK // DD DSN=prefix.STDOBJ,DISP=SHR <== CHECK //LKED.PLILIB DD DSN=local.pli.PLIBASE,DISP=SHR <== CHECK //LKED.MYLIBC DD DSN=your.object.library,DISP=SHR <== CHECK //LKED.MYLIBP DD DSN=your.object.library,DISP=SHR <== CHECK //LKED.ILCTERM DD SYSOUT=* //ILCIN DD * FIRST MAIN(C) LANGUAGE C,PLI PROCESS CLINK PREM AUTOCALL LC370 INCLUDE MYLIBC(CXX2PLIC) PROCESS LKED XREF,LIST,AMODE=24,RMODE=24 AUTOCALL PLILIB INCLUDE MYLIBP(CXX2PLIP) NAME CXX2PLI(R) //* //********************************************** //* //* RUN THE PROGRAM //* //GO EXEC PGM=CXX2PLI //STEPLIB DD DSN=your.load.library,DISP=SHR <== CHECK // DD DSN=prefix.LINKLIB,DISP=SHR <== CHECK // DD DSN=local.pli.PLILINK,DISP=SHR <== CHECK //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSOUT DD SYSOUT=* //* // //*