• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c++调用lua

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

VC要编译LUA文件必须先配置VC编程环境。。我用的是VC6.0,lua 5.1.4版

 

首先将lua的"lua.h"  ,"lualib.h", "lauxlib.h" 这三个放在vc程序include文件夹下

 

然后将lua的lua5.1.lib放在lib文件夹下就OK了

 

 

 

下面看看我写的一个小例子:

 

a.cpp

 

[cpp] view plain copy
 
  1. #include "windows.h"     
  2.     
  3. extern "C"{     
  4. #include "lua.h"       
  5. #include "lualib.h"     
  6. #include "lauxlib.h"      
  7. }    
  8.     
  9.     
  10. #pragma   comment(lib,"lua5.1.lib")     
  11.     
  12.     
  13. lua_State * L;    
  14.     
  15. static int clib(lua_State *L)   //给lua调用的c函数必须定义成static int XXX(lua_State *L)     
  16. {    
  17.     char   path[MAX_PATH];     
  18.     GetCurrentDirectory(MAX_PATH,path);    
  19.     lua_pushstring(L,path);    
  20.     return 1;   //为什么要返回1?这是有依据的,该函数把结果压入了栈,lua调用该函数将从栈中     
  21.     //取1个结果     
  22. }    
  23.     
  24.     
  25. int main ( int argc, char *argv[] )    
  26. {    
  27.     int sum;    
  28.     //创建一个指向lua解释器的指针     
  29.     L = luaL_newstate();    
  30.     //加载lua标准库     
  31.     luaL_openlibs(L);    
  32.     //注册C++函数     
  33.     lua_register(L,"clib",clib);    
  34.     //加载脚本     
  35.     luaL_dofile(L,"4.lua");    
  36.     //调用函数     
  37.     lua_getglobal(L,"run");    
  38.     //运行函数并把结果压入栈     
  39.     lua_pcall(L,0,0,0);    
  40.     //关闭并释放资源     
  41.     lua_close(L);    
  42.     return 0;    
  43. }    


LUA文件 

[cpp] view plain copy
 
    1. function run()    
    2.      print("call running from c")    
    3.      print(clib())    
    4. end    

http://blog.csdn.net/chinazhd/article/details/7772316


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【原创】lua函数--克隆函数clone()发布时间:2022-07-22
下一篇:
lua脚本中字符串分割split发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap