The C main program,
SimValMain.c
The commands to compile and
execute SimVal.p and
SimValMain.c
#include <stdio.h>
extern void SimVal(
char, char, char,
short,
int,
float,
double,
int *);
int main(void)
{
char
t = 1, f = 0;
char
c = 'z';
short
si = 9;
int
i = 9;
float
sr = 9.9;
double
r = 9.9;
int
args;
SimVal(t, f, c, si, i, sr, r, &args);
printf(" args = %06o \n", args);
hostname% pc -c SimVal.p
hostname% cc SimVal.o SimValMain.c -lpc
hostname% a.out
args=111111
If no function prototype is provided for SimVal in SimValMain.c, then
sr:shortreal must be changed to sr:real in SimVal.p. This change is
necessary because in C, a float is promoted to double in the absence of
function prototypes. In -xl mode, change sr:shortreal to sr:longreal.
Simple Types with –xl
With -xl, the Pascal real must be paired with a C float, and the Pascal
integer must be paired with a C short int.
The C–Pascal Interface
6
113
Need help?
Do you have a question about the SunSoft Pascal 4.0 and is the answer not in the manual?
Questions and answers