【发布时间】:2014-04-28 21:34:40
【问题描述】:
我有一个简单的程序,我在 Visual C++ 2008 Express 中将其制成 dll:
#include <lua52/lua.h>
#include <lua52/lualib.h>
#include <lua52/lauxlib.h>
#pragma comment(lib,"lua52.lib")
#include <stdio.h>
int needless(lua_State *L)
{
printf("bullshit\n");
return 0;
}
static const struct luaL_Reg noise[] = {
{"needless",needless},
{NULL,NULL}
};
__declspec(dllexport) int __cdecl luaopen_noise(lua_State *L)
{
luaL_newlib(L, noise);
return 1;
}
当我在 lua5.2 解释器中将生成的 dll 与“导入噪声”链接时,我得到了“检测到多个 lua VM”的原因,这让我无法理解。我应该怎么做才能让它工作?
【问题讨论】:
-
Lua #includes 块周围不需要外部 C,因为它们是用 C 编写的吗?
-
上面的代码是'C'代码,所以不需要externs。
标签: lua