tolua++学习指南.docx_第1页
tolua++学习指南.docx_第2页
tolua++学习指南.docx_第3页
tolua++学习指南.docx_第4页
tolua++学习指南.docx_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

所属系统:文档类型:Lua系列培训教程 Lua+学习指南文件状态: 草稿 正式发布 正在修改文件编号:当前版本:1.0作 者:张子良审 批:审批日期:2011-04-22Lua+学习指南目 录第一章 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第三章 图表目录8第 11 页第一章 tolua+基础1.1 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:l Support for std:string as a basic typel Support for class templatesTolua+用来解决Lua脚本文件调用C/C+变量、函数、类和方法的一个工具。1.2 tolua+资源URL:/tolua/1.3 tolua+编译1.3.1 tolua+.exe本文使用tolua+ 1.0.92的版本,首先下载源码,解压后发现,tolua+目录如下图所示:图1: tolua+文件目录在Win32目录下有VC7文件夹,VC7文件夹下有基于VS2003的工程文件,打开工程文件,可以直接编译生成tolua+.exe。如下图所示:图2: tolua+工程界面注意:编译时需要设定Lua的头文件和库文件路径,如下图所示:图3: tolua+库文件设置1.3.2 tolua+.lib第一步:新建基于win32控制台工程。如下图所示:图4: 新建工程第二步:工程类型选择static lib,取消Precomoled header选项:图5: 工程类型选择第三步:添加tolua+srclib目录下6个文件到新建工程,添加后效果如下图所示:图6: Tolualib文件目录第四步:编译,编译后生成tolualib.lib文件1.4 tolua+实例1.4.1 Tarray第一步:定义接口文件typedef struct Point Point;struct Pointfloat x;float y;extern int a10;extern Point p10; extern Point* pp10;extern int ma10;extern Point mp10; extern Point* mpp10;typedef struct Array Array;struct Array int a10; Point p10; Point* pp10;extern Array array;extern Array* parray;第二步:定义pkg文件pkg文件是tolua+生成暴露接口代码的主要文件,该文件中定义了你要暴露程序中的那些类和接口,它跟你实际的程序没有任何关联,也就是说它不会去找你真的有没有pkg里所定义的函数,但是在程序编译时会报错。这个文件放在那里都是可以的。为了方便,一般都把你要暴露的类的.h文件拷出来改成pkg就可以了。tarray.pkg文件示例如下所示:$#include tarray.hstruct Pointfloat x;float y;extern int a10;extern const Point p10; extern Point* pp10;module M extern int ma10a;extern const Point mp10p; extern Point* mpp10pp;struct Array int a10; Point p10; Point* pp10;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(ai=i)endfor i=2,10 do assert(pi-1.y=pi.x)end for i=1,10 do assert(M.ai=i)endfor i=2,10 do assert(M.pi-1.y=M.pi.x)endfor i=1,10 do assert(ppi.x=M.pi.x and pi.y = M.ppi.y)endfor i=1,10 do assert(array.ai = parray.ai) assert(array.pi.x = parray.ppi.x and array.pi.y = parray.ppi.y)endfor i=1,10 do array.ai = a10-i+1M.ai = 10-i+1assert(array.ai=M.ai)endfor i=2,10 do array.pi = array.pp1assert(array.pi.x=0 and array.pi.y=1)endprint(Array test OK)注意:Lua脚本文件中数组是从1开始的,但是在C/C+中数组的下标是从0开始的。所以以上脚本文件需要修改。第六步:运行工程输出:Array test

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论