原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列]
博客地址:http://blog.csdn.net/qq446569365
使用LUA开发游戏的时候,LUA与C++函数之间的互相调用是必然遇到的问题。虽说LUA运行效率已经是脚本语言中“最快”的了。但是其在运行复杂算法和多线程运算的能力上,比C++差的太远了。所以LUA与C++之间互相调用是非常常见的。那么,如何将自己写的C++程序绑定进LUA中呢?
注:这个只是一些小函数的绑定方法,如果是将C++的类绑定进入LUA中可以采用tolua++,对于这个工具的使用我会在下一篇帖子再进行详细介绍,这里就不赘述了。
首先是将C++函数绑定进LUA,也就是从LUA中调用C++的函数
- staticinthttpSend(lua_State*L)
- {
- constchar*url=lua_tostring(L,1);
- return0;
- }<spanstyle="font-size:18px;"><spanstyle="font-family:Arial;color:#333333;"><spanstyle="line-height:26px;">
- </span></span></span>
然后AppDelegate::applicationDidFinishLaunching()函数中加入
lua_register(L,"APhttpSendMethod",httpSend);
这个是将C++函数注册到LUA虚拟机中,然后在lua中可以通过APhttpSendMethod("123")调用C++的方法了