C/C++ Programmer's Guide (G06.25+)
Mixed-Language Programming for TNS Programs
HP C/C++ Programmer’s Guide for NonStop Systems—429301-008
7-30
Interfacing to TNS COBOL
main () 
{
 s = &sarr[0];
 *s = 'A';
 arr[0] = 10;
 MIGHT_LOSE_SEG (); /* Call TAL routine, which uses the*/
 /* explicit extended data segment */
/* next two statements depend on the automatic extended */
/* data segment being restored after the call to TAL */
 sarr[1] = *s;
 arr[1] = arr[0] + 5;
}
Interfacing to TNS COBOL
Your TNS C/C++ programs can call functions written in TNS COBOL. The general 
procedure consists of the following steps: Use the TNS COBOL compiler (COBOL85 in 
the Guardian environment or cobol in the OSS environment) to compile the COBOL 
function. Use the TNS C/C++ compiler (named c) to compile the C/C++ program. Then 
use Binder to link the two object files and create the executable.
Example 7-1 shows the contents of an example TNS C program, named TESTC, that 
calls a COBOL function. 
Example 7-2 shows the contents of the COBOL function, named TESTCOB. 
Example 7-3 shows the contents of the header file used in this example, named 
COBINCLH. 
Example 7-4 shows the contents of the Binder file, named BINDIN.
Example 7-1. C Program that Calls a COBOL Function
/* TESTC */
#pragma inspect, symbols
#include <stdioh> nolist
#include "COBINCLH"
short main (void)
{
 short ds;
 long dl;
 char *tx = "Displayed in COBOL.";
 ds = 100;
 dl = 40000;
 XCOBFUNC (tx, &ds, &dl);
 printf ("I'm Back in C and program is ending.\n");
}               










