Re: Exotica still doesn't like the Translator
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 10, 2001
- 368 views
Martin Stachon writes: > Even with the final release of the translator, > I cannot get run any Euphoria program that uses Exotica. On Windows, there are two different calling conventions for C subroutines. The Translator expects all C routines in a .dll to use the __stdcall convention. This is the convention used by all WIN32 API routines. From what Todd Riggins tells me, Exotica uses the __cdecl convention. By luck, the interpreter, compiled by WATCOM C, will not crash if the .dll is __cdecl, though there might be a problem with returning a C double, I'm not sure. I think it works because c_proc/c_func returns almost immediately after calling the .dll routine, and WATCOM-generated code manages to reset the incorrect stack pointer before it is used. So I recall that the Translator worked with WATCOM, but not Borland or Lcc. However, Todd says he tried rebuilding his .dll using __stdcall and things still didn't work. So we aren't sure what to do about it. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com