7

The C++ main program,

SamRefMain.cc

The commands to compile and execute SamRef.p and SamRefMain.cc

#include <stdio.h>

extern "C" void SamRef (

char &,

char &,

char &,

int &, short &,

float

&,

 

 

 

double

&);

 

 

 

int main(void)

 

 

 

{

 

 

 

 

char

t,

f,

c;

 

int

i;

 

 

 

short

s;

 

 

 

float

r;

 

 

 

double

d;

 

 

 

SamRef (t, f, c, i, s, r, d);

 

printf ("%08o

%08o %c %d %d %3.1f %3.1f \n",

 

t,

f,

c, i, s, r,

d);

}

hostname% pc -c SamRef.p

hostname% CC SimRef.o SamRefMain.cc -lpchostname% a.out

00000001 00000000 z 9 9 9.9 9.9

Simple Types with the -xlOption

With the -xloption, the Pascal real must be paired with a C++ float; the Pascal integer must be paired with a C++ short int.

The C++–Pascal Interface

141