回复 #1 shihyu 的帖子
把 lua_open(0) 替换为 luaL_newstate() 就能通过了。lua 5.x版本没有lua_open(int)这个函数。
同理lua_dostring也要用luaL_dostring替换。以下是能编译过的修改版本。
同理lua_dostring也要用luaL_dostring替换。以下是能编译过的修改版本。
CODE:
/* A simple Lua interpreter. */
#include<stdio.h>
#include<lua.h>
#include<lauxlib.h>
int main(int argc, char *argv[]) {
char line[BUFSIZ];
lua_State *L = luaL_newstate();
while (fgets(line, sizeof(line), stdin) != 0)
luaL_dostring(L, line);
lua_close(L);
return 0;
}
#include<stdio.h>
#include<lua.h>
#include<lauxlib.h>
int main(int argc, char *argv[]) {
char line[BUFSIZ];
lua_State *L = luaL_newstate();
while (fgets(line, sizeof(line), stdin) != 0)
luaL_dostring(L, line);
lua_close(L);
return 0;
}
编译用命令行 gcc -o e10 e10.c -llua -lm