【发布时间】:2015-07-02 09:44:01
【问题描述】:
我的 Lua 文件名为“add4c.lua”,Lua 代码如下:
function lua_sum(x,y,z)
return x+y+z
end
我的 C 文件代码是这样的:
#include "D:/luac/include/lua.h"
#include "D:/luac/include/lualib.h"
#include "D:/luac/include/lauxlib.h"
#include <stdlib.h>
#pragma comment(lib,"D:/luac/lib/lua51.lib")
int main(void)
{
lua_State *L = luaL_newstate();
luaopen_base(L);
luaL_openlibs(L);
int error = luaL_dofile(L, "add4c.lua");
double r;
for (int i = 0; i <= 200; i++){
lua_getglobal(L, "lua_sum");
lua_pushnumber(L, i+1);
lua_pushnumber(L, i+2);
lua_pushnumber(L, i+3);
lua_call(L, 3, 1);
r = lua_tonumber(L, -1);
printf("%d\n", i);
lua_pop(L, 4);
}
lua_close(L);
return 0;
}
我的 Lua 版本是 5.1.4,我的 c 代码是由 Visual Studio 2013 编译的。运行此代码时,它会导致错误,只需停止代码,但没有消息,如果我更改循环子句如“i
【问题讨论】: