These APIs should be extern "C" so there shouldn't be any name mangling.
Mike
Henry Sobotka wrote:
> 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~