The C++–Pascal Interface
145
7
Although it does not apply to this example, arrays of aggregates in Pascal
have, by default, a size that is a multiple of four bytes. When you use the
-calign
option to compile Pascal code, that difference from C++ is
eliminated.
The following example illustrates this point. The string
'Sunday'
only gets
through to the C++ main program when you compile the Pascal routine using
the
-calign
option.
The Pascal procedure,
DaysOfWeek.p
type
TDay = array [0..8] of char;
TWeek = array [0..6] of TDay;
TYear = array [0..51] of TWeek;
procedure DaysOfWeek (
var Y: TYear
);
begin
Y[1][1] := 'Sunday';
end;
The C++ main program,
DaysOfWeekMain.cc
#include <stdio.h>
extern "C" void DaysOfWeek (
char [52][7][9]);
int main(void)
{
char Year [52][7][9];
DaysOfWeek (Year);
printf (" Day = '%s' \n", Year[1][1]);
}
Содержание 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: ......