Michael Kaply wrote:
>
> I thought _System wasn't compatibly? Maybe _stdcall?
Right, EMX turns _System into an empty string in os2.h and the default
gcc calling convention is not quite the same thing as _System.
gcc supports stdcall on i86 machines with
int foo(int, int) __attribute__ ((stdcall));
declarations and compilation with -mrtd. Unfortunately, fed the
equivalent
int _stdcall foo(int, int);
icc mangles the name into foo@n where n appears to be the total size of
the args, i.e. in this case it becomes foo@8, with three ints or (int,
double) it becomes foo@12 etc. With gcc foo remains foo so crosslinkage
fails.
h~