Re: Trouble with lua_newstate() syntax
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: Trouble with lua_newstate() syntax
- From: "Antonio E. Scuri" <Antonio.Scuri@...>
- Date: 2000年6月19日 08:09:05 -0300
At 15:39 18/06/00 -0300, you wrote:
The use of varargs in lua_newstate() is troublesome on the Windows
platform when building a DLL. If you want to build a "correct" DLL you
cannot use the C calling convention, thus can't use varargs, thus you can't
export that function. That makes using Lua a bit difficult! ;->
We build a standard DLL using Visual C++ and It is working fine. Thus
this DLL does not work in Visual Basic and Delphi, because they use the
stdcall convention. I do not know if the stdcall convention does not allow
varags.
This DLL is builded using a .DEF file with the exported functions. This
is not more or less correct than the stdcall convetion.
In fact to use the stdcall convention you have to edit all the
declaration and implementation of exported functions. If the we would like
to make things easier to VB and Delphi programmers It is interesting to add
a define in front of these functions that can be used to change the calling
convention.
scuri
PS: to test the DLL I had to edit the file LUA.C that must have the
following code:
#ifndef LUA_REENTRANT
static lua_State *lua_state = 0;
#endif