网站大量收购独家精品文档,联系QQ:2885784924

tolua++学习指南.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
tolua学习指南

所属系统:文档类型:Lua系列培训教程 Lua++学习指南文件状态:[√] 草稿[ ] 正式发布[ ] 正在修改文件编号:当前版本:1.0作 者:张子良审 批:审批日期:2011-04-22目 录第一章 tolua++基础11.1 tolua++简介11.2 tolua++资源11.3 tolua++编译11.3.1 tolua++.exe11.3.2 tolua++.lib31.4 tolua++实例41.4.1 Tarray4第二章 Tolua++专题7第三章 图表目录8tolua++基础tolua++简介tolua++ is an extended version of tolua,a tool to integrate c/c++ code with Lua. Tolua++ includes new features oriented to c++ such as:Support for std::string as a basic typeSupport for class templatesTolua++用来解决Lua脚本文件调用C/C++变量、函数、类和方法的一个工具。tolua++资源URL:/~tolua/tolua++编译tolua++.exe本文使用tolua++ 1.0.92的版本,首先下载源码,解压后发现,tolua++目录如下图所示:tolua++文件目录在Win32目录下有VC7文件夹,VC7文件夹下有基于VS2003的工程文件,打开工程文件,可以直接编译生成tolua++.exe。如下图所示:tolua++工程界面注意:编译时需要设定Lua的头文件和库文件路径,如下图所示:tolua++库文件设置tolua++.lib第一步:新建基于win32控制台工程。如下图所示:新建工程第二步:工程类型选择static lib,取消Precomoled header选项:工程类型选择第三步:添加tolua++\src\lib目录下6个文件到新建工程,添加后效果如下图所示:Tolualib文件目录第四步:编译,编译后生成tolualib.lib文件tolua++实例Tarray第一步:定义接口文件typedef struct Point Point;struct Point{float x;float y;};extern int a[10];extern Point p[10]; extern Point* pp[10];extern int ma[10];extern Point mp[10]; extern Point* mpp[10];typedef struct Array Array;struct Array{ int a[10]; Point p[10]; Point* pp[10];};extern Array array;extern Array* parray;第二步:定义pkg文件pkg文件是tolua++生成暴露接口代码的主要文件,该文件中定义了你要暴露程序中的那些类和接口,它跟你实际的程序没有任何关联,也就是说它不会去找你真的有没有pkg里所定义的函数,但是在程序编译时会报错。这个文件放在那里都是可以的。为了方便,一般都把你要暴露的类的.h文件拷出来改成pkg就可以了。tarray.pkg文件示例如下所示:$#include tarray.hstruct Point{float x;float y;};extern int a[10];extern const Point p[10]; extern Point* pp[10];module M {extern int ma[10]@a;extern const Point mp[10]@p; extern Point* mpp[10]@pp;}struct Array{ int a[10]; Point p[10]; Point* pp[10];};extern Array array;extern Array* parray;第三步:用tulua++.exe声称.c文件Tulua++ -o test.c tarray.pkg第四步:将生成的文件,1中的头文件,tolua++的头文件,lua的头文件及相关的库加入工程。第五步:编写Lua脚本for i=1,10 do assert(a[i]==i)endfor i=2,10 do assert(p[i-1].y==p[i].x)end for i=1,10 do assert(M.a[i]==i)endfor i=2,10 do assert(M.p[i-1].y==M.p[i].x)endfor i=1,10 do assert(pp[i].x==M.p[i].x a

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档