c语言lua解释器,Lua5.1 C库下载编译使用 + C语言编写的简单Lua 解释器

1、编译Lua下载到Lua的源代码以后,解压缩,里面会有4个文件夹外加一堆文件。其中src文件夹里面就是我们要用到的。

打开VS2003或者VS2005,新建一个空的Win32控制台应用程序,注意要是空的哦。这里假设该工程的目录在D:/lua。将刚才的src里的所有.h和.c文件拷贝到工程根目录下,也就是D:/lua下面。在VS中的“解决方案”视图中,右键点击“头文件”,添加现有项,将刚才拷贝过来的所有的.h文件添加到工程里,同样地把所有的.c文件添加到“源文件”目录中。将当前配置由debug改为release,从主菜单中进入项目->属性,找到“常规”选项卡,将右边的“配置类型”改为“静态库(.lib)”。然后生成解决方案就行了。此时我们在D:/lua/Release下面的一大堆.obj文件中会找到一个叫做lua.lib的文件,就是它了。

2、使用Lua

同样新建一个空的Win32控制台应用程序,假设工程目录是D:/test。在工程根目录下面新建一个叫做lua的目录,也就是D:/test/lua,用于存放lua的头文件和库文件。将src里的所有.h文件拷贝到刚才新建的目录里。在解决方案中新建一个“lua”文件夹,将D:/test/lua目录中所有的文件加入进去。然后在源文件里面新建一个main.cpp,作为控制台应用程序的入口文件。mail.cpp的最初代码如下, 这个是一个Lua 代码的解释器, 在Console 里敲入Lua 代码, 回车就可以运行了。

extern "C"{ #include #include #include #include #include }; int main(void) { char buff[256]; int error; lua_State* L = luaL_newstate(); /*Open Lua*/ luaL_openlibs(L); /*Open standard lib*/ while (fgets(buff, sizeof(buff), stdin) != NULL) { error = luaL_loadbuffer(L, buff, strlen(buff), "line") || lua_pcall(L, 0, 0, 0); if(error){ fprintf(stderr, "%s", lua_tostring(L, -1)); lua_pop(L, 1); /*pop up error info from the stack*/ } } lua_pushnil() lua_close(L); return 0; }

另外一段代码,从文件中载入:

void load(lua_State* L, const char* fname, int* w, int* h){ if (luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0)){ ERROR(L, "can not run config. file: %s", lua_tostring(L, -1)); } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值