博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年2月1日

摘要: Lua与c++互调上一节我们实现了一个c++的封装类,通过该类我们就可以调用lua中的函数。可是这还满足不了我们的需求,我们还想通过lua来调用我们c++的方法。通过研究/tolua++-1.0.93/src/tests下的例子,结合c++的特性,我总结了一个tolua的例子。不能说相当完美,但是基本的功能已经能够满足项目的需求了,而且通过这个例子,也可以使各位对tolua的语法以及用法有一个初步的了解。本例只是一个简单的lua与c++互调的示例,如果想要更进一步的学习tolua,可以参考/tolua++-1.0.93/src/tests下的例子,那些例子都是相当的经典。另外鉴于tolua的强 阅读全文

posted @ 2012-02-01 10:45 开源云 阅读(8059) 评论(0) 推荐(2) 编辑

摘要: C++调用lua本节我将一步一步带领大家完成c++调用lua函数并接受lua的返回值,通过分析调用的方式来封装一个类,最终封装完成的类并不是最优的,但应该能够满足一般的项目中对lua调用的功能。不足之处欢迎大家给予指正。1 基本概念1.1 栈c++调用lua是通过一个抽象的栈来实现数据的交换的。C++调用lua时,首先需要把lua函数需要的参数压入这个抽象的栈中,如果c++想要从lua中获取数据,则lua需要先把数据压入栈中,然后c++从栈中取得需要的数据。Lua是以严格的LIFO规则来操作栈的,即后进先出原则,而c++则可以操作栈上的任何一个元素。2 常用函数void lua_pushnil 阅读全文

posted @ 2012-02-01 10:32 开源云 阅读(4770) 评论(1) 推荐(1) 编辑