【发布时间】:2015-02-27 22:34:18
【问题描述】:
我的 C 代码如下:
skypeAnalyzer.h
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "stdio.h"
#include "stdlib.h"
//dll export func
int _declspec(dllexport) luaopen_skypeAnalyzer(lua_State* L);
skypeAnalyzer.c
#include "skypeAnalyzer.h"
#include <windows.h>
#include <wincrypt.h>
int run(lua_State* L){
printf("------->>> Hi! %s \n", lua_tostring(L, 1));
return 0;
}
struct luaL_Reg IrLibs[] = {
{ "run", run },
{ NULL, NULL }
};
int luaopen_skypeAnalyzer(lua_State* L)
{
luaL_newlib(L, IrLibs);
return 1;
}
lua 代码如下:
require "skypeAnalyzer"
skypeAnalyzer.run("Lua")
我在vs express 2013中编译dll并生成skypeAnalyzer.dll,但是运行lua代码时出现如下错误:
C:\Lua>lua52.exe skypeAnalyzer.lua
lua52.exe: C stack overflow
stack traceback:
[C]: in ?
[C]: in function 'require'
C:\Lua\skypeAnalyzer.lua:1: in main chunk
[C]: in function 'require'
编译dll时如何动态调用lua52.dll?如何在 VS 2013 中设置?我在vs express 2013中编译dll并生成skypeAnalyzer.dll,但是运行lua代码时出现如下错误:
谁能帮帮我?
【问题讨论】: