The C–Pascal Interface
127
6
The
-calign
option is not needed in the previous example, but may be
necessary if the record contains aggregates.
Non-Pascal Procedures
When you use the
-xl
option in compiling Pascal code, you can use the
nonpascal
keyword to declare that an external procedure is written in
another language. This keyword generally causes everything to be passed by
reference.
The Pascal main program,
VarRecMain.p
program VarRecMain;
type
vr = record
case tag: char of
'a': (ch1, ch2: char);
'b': (flag: boolean);
'K': (ALIGN: integer)
end;
var
x: vr;
procedure VarRec(var d: vr); external c;
begin
x.tag := 'a';
x.ch1 := 'a';
x.ch2 := 'b';
VarRec(x);
writeln(x.ch2)
end. { VarRecMain }
The commands to compile and
execute
VarRec.c
and
VarRecMain.p
hostname% cc -c VarRec.c
hostname% pc -calign VarRec.o VarRecMain.p
hostname% a.out
Z
Содержание SunSoft Pascal 4.0
Страница 14: ...xiv Pascal 4 0 User s Guide ...
Страница 16: ...xvi Pascal 4 0 User s Guide ...
Страница 30: ...6 Pascal 4 0 User s Guide 1 ...
Страница 160: ...136 Pascal 4 0 User s Guide 6 ...
Страница 268: ...244 Pascal 4 0 User s Guide 11 ...
Страница 320: ...296 Pascal 4 0 User s Guide B ...
Страница 331: ...Index 307 ...
Страница 333: ......