/*-------------------------------------------------------------------+
| Copyright (c) 1995, SAS Institute Inc. |
| Unpublished - All Rights Reserved |
| S A S / C S A M P L E |
| |
| NAME: CXFORTPC |
| LANGUAGE: C++ |
| PURPOSE: THIS EXAMPLE DEMONSTRATES A C++ MAIN CALLING A |
| FORTRAN ROUTINE, WHICH TAKES A PARAMETER LIST. |
| IT CONSISTS OF SAMPLE LIBRARY MEMBERS |
| CXXFORPC, CXXFORPF, AND CXXFORPM. |
| MVS - |
| COMPILE: USE JCL PROVIDED IN SAMPLE.AUX(CXXFORPM). |
| LINK: USE JCL PROVIDED IN SAMPLE.AUX(CXXFORPM). |
| EXECUTE: USE JCL PROVIDED IN SAMPLE.AUX(CXXFORPM). |
| TSO - |
| COMPILE: FORTRAN - USE FORTRAN COMPILER. |
| C++ - LCXX CXXFORPC |
| LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(CXXFORPM). |
| EXECUTE: CALL .LOAD(CXXFORPM) |
| CMS - |
| COMPILE: FORTRAN - USE FORTRAN COMPILER. |
| C++ - LCXX CXXFORPC |
| LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(CXXFORPM). |
| EXECUTE: CALL CXXFORPM |
| 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) |
+-------------------------------------------------------------------*/
#include
#include
#include
#include
#include
main()
{
__fortran void forpgm();
void *token;
char *comment = " Fortran parameter passed...";
if(!(token = mkfmwk("fortran","")))
exit(16);
else
{
cout << "before calling forpgm" << endl;
cout << comment << endl;
forpgm(comment);
cout << "after calling forpgm" << endl;
if (dlfmwk(token))
exit(8);
else
exit(0);
}
return 1;
}