<将简单C++类导出到lua> 利用tolua++导出类到lua中简单方便,你可以导出静态成员函数、普通成员函数、静态成员变量、普通成员变量,你也可以指定类的哪些方法被导出。你可以将具有单继承的派生类导出,派生类可以很自然地访问基类的方法。更多的细节,请参考
tolua++的在线文档。 首先生成实际的c++头文件,定义我们要导出的类。tclass.h内容如下:
为了方便,我把实现也放在了头文件中。 接下来定义pkg文件,tclass.pkg。
和我们的第一个数组的例子一样,包含实际的C头文件,用tolua++的语法声明你想导出的部分。在导出类的时候,构造函数被映射到lua中的new,析构函数被映射为delete。他们的用法可以在后面的lua代码中看到。接下来就是用tolua++.exe生成用于完成“导出类到lua”功能的CPP文件了。
class CNumber { //tolua_export
{
{
{
{
+= num;
{
{
if(initmsg)
SetMessage(msg)
(msg)
{
m_szMessage;
{
$#include
"
tclass.h
CNumber();
CMessage();
tolua
++
.exe
-
n tclass
o tclass.cpp tclass.pkg