6

The commands to compile and execute IO.p and IOMain.c

hostname% pc -c IO.p

hostname% cc IO.o IOMain.c -lpc

hostname% a.out

Hello Pascal and St. Petersburg! Hello C!

Procedure Calls: Pascal–C

This section parallels the section, “Procedure Calls: C–Pascal” on page 93.

Earlier comments and restrictions also apply here.

Variable Parameters

Pascal passes all variable parameters by reference, which C can do, too.

Simple Types

Simple types pass in a straightforward manner, as follows:

The C function, SimRef.c

void SimRef(

char *t,

char *f,

char *c,

short *si,

int *i,

float *sr,

double *r)

{

*t = 1; *f = 0; *c = 'z'; *si = 9; *i = 9; *sr = 9.9; *r = 9.9;

}

The C–Pascal Interface

117

Page 141
Image 141
HP SunSoft Pascal 4.0 manual Procedure Calls Pascal-C, Hostname% cc IO.o IOMain.c -lpc, C function, SimRef.c