HP SunSoft Pascal 4.0 User Manual Page 137

  • Download
  • Add to my manuals
  • Print
  • Page
    / 333
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 136
The C–Pascal Interface 113
6
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 main program,
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);
The commands to compile and
execute SimVal.p and
SimValMain.c
hostname% pc -c SimVal.p
hostname% cc SimVal.o SimValMain.c -lpc
hostname% a.out
args=111111
Page view 136
1 2 ... 132 133 134 135 136 137 138 139 140 141 142 ... 332 333

Comments to this Manuals

No comments