【发布时间】:2014-10-15 18:05:25
【问题描述】:
我想实现像在我的 Lua 构建中嵌入套接字函数这样的函数。 所以我不再需要复制socket.core.dll(只是为了好玩)。
我搜索邮件列表,看到一些人讨论这个话题, http://lua-users.org/lists/lua-l/2005-10/msg00269.html
但是我对细节步骤有疑问,谁能给我一个详细的更改lua和luasocket代码以使它们一起工作的步骤(而不是使用dll方法)。
我在 windows xp 中用 VC2008 尝试了这些步骤:
1) 将 luasocket 代码复制到 Lua 项目中。
2) 添加一些代码
static const luaL_Reg lualibs[] = {
{"", luaopen_base},
{LUA_LOADLIBNAME, luaopen_package},
{LUA_TABLIBNAME, luaopen_table},
{LUA_IOLIBNAME, luaopen_io},
{LUA_OSLIBNAME, luaopen_os},
{LUA_STRLIBNAME, luaopen_string},
{LUA_MATHLIBNAME, luaopen_math},
{LUA_DBLIBNAME, luaopen_debug},
{LUA_SOCKETLIBNAME, luaopen_socket_core}, // add this line
{LUA_MIMELIBNAME, luaopen_socket_core}, // add this line
{NULL, NULL}
};
3) 构建项目并运行它。
当我输入print(socket._VERSION)时,它显示luasocket 2.0.2,是正确的。
当我输入print(socket.dns.toip("localhost"))时,它显示127.0.0.1 table: 00480AD0,也是正确的。
但是当我尝试使用其他功能时,例如绑定,它无法工作。
谁能告诉我原因?
【问题讨论】: