//CXFORTPM JOBCARD INFORMATION //*------------------------------------------------------------------ //* COPYRIGHT (C) 1995, SAS INSTITUTE INC. //* UNPUBLISHED - ALL RIGHTS RESERVED //* S A S / C S A M P L E //* //* NAME: CXFORTPM //* LANGUAGE: JCL //* PURPOSE: THIS EXAMPLE DEMONSTRATES A C++ MAIN CALLING A //* FORTRAN ROUTINE THAT TAKES ARGUMENTS. //* IT CONSISTS OF SAMPLE LIBRARY MEMBERS //* CXFORTPC, CXFORTPF, AND CXFORTPM. //* THIS JCL COMPILES, LINKS, AND EXECUTES THESE MODULES. //* MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED: //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(IFYVINTE) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFEE#) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFES#) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(VFEIM#) //* WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(FORPGM) //*----------------------------------------------------------------- //***************************************************************** //* NOTE: Verify the statements indicated by the "<== CHECK" //* have been customized for the local environment. //***************************************************************** //***************************************************************** //* AN EXAMPLE SHOWING C++ CALLING FORTRAN USING ILCLINK //* //FCOMP EXEC FORTVC,PARM=NAME(FORPGM) <== CHECK //FORT.SYSLIN DD DSN=your.object.library(CXFORTPF),DISP=OLD <== CHECK //FORT.SYSIN DD DSN=prefix.SAMPLE.ILC(CXFORTPF),DISP=SHR <== CHECK //* //SASCC EXEC LCXXC,PARM.X='SN(CMAIN)' <== CHECK: PROC FOR COMPILING C++ //X.SYSLIN DD DSN=your.object.library(CXFORTPC),DISP=OLD <== CHECK //X.SYSTRIN DD DSN=prefix.SAMPLE.ILC(CXFORTPC),DISP=SHR <== CHECK //* //ILCLINK EXEC ILCLINK, <== CHECK: ILC PROC // PARM.LKED='NOTERM ECHO' //LKED.SYSLMOD DD DSN=your.load.library,DISP=OLD <== CHECK //LKED.SYSARLIB DD DSN=prefix.A,DISP=SHR <== CHECK //LKED.CLIBS DD DSN=prefix.BASEOBJ,DISP=SHR <== CHECK // DD DSN=prefix.STDOBJ,DISP=SHR <== CHECK //LKED.COBJ DD DSN=your.object.library,DISP=SHR <== CHECK //LKED.FOROBJ DD DSN=your.object.library,DISP=SHR <== CHECK //LKED.FORLKD DD DSN=local.fortran.VFORTLIB,DISP=SHR <== CHECK //* //LKED.ILCIN DD * FIRST MAIN(C) LANGUAGE FORTRAN,C PROCESS CLINK AUTOCALL CLIBS INCLUDE COBJ(CXFORTPC) PROCESS LKED LIST MAP AUTOCALL FORLKD INCLUDE FOROBJ(CXFORTPF) NAME CXFORTPM(R) /* //* //GO EXEC PGM=CXFORTPM //STEPLIB DD DSN=your.load.library,DISP=SHR <== CHECK // DD DSN=local.fortran.VFORTLIB,DISP=SHR <== CHECK // DD DSN=prefix.LINKLIB,DISP=SHR <== CHECK //FT06F001 DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSPRINT DD SYSOUT=* //