Linux下Tolua的使用(一)

本文介绍了一个名为tolua的软件包,它能够为Lua提供面向对象的特性,使得Lua脚本能够访问C/C++语言库的类和函数。文章详细描述了tolua的组成部分、工作原理及如何编译安装,最后通过一个具体示例讲解了如何使用tolua进行接口导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章参照自: http://www.cppblog.com/converse/archive/2005/12/27/2199.aspx#Post


介绍

tolua是一个第三方的软件包,可以为Lua提供面向对象的特性,这样我们就可以使用在Lua脚本中访问c/c++语言库提供的类和函数.

下载地址: http://webserver2.tecgraf.puc-rio.br/~celes/tolua/tolua-5.2.4.tar.gz
官方教程: http://webserver2.tecgraf.puc-rio.br/~celes/tolua/tolua-3.2.html


原理

tolua组成部分有三个:

  • tolua: 可执行程序
  • tolua.h: 头文件
  • libtolua.a: tolua的静态库文件

编译安装

  1. 下载解压后make会报错, 修改./src/bin/Makefile文件, 生成$(T), $(T_D)的编译项加上 -ldl 和 -lm, 然后再到根目录执行make.
  2. Makefile没有提供install选项,需要自行copy. 将./bin/下面的两个可执行文件cp到/usr/bin/目录, 将./include/下的头文件cp到/usr/include/目录下,将./lib/下的静态文件cp到/usr/lib/和/usr/lib64目录下.

使用

使用tolua有以下步骤:

  1. 编写c/c++文件.
  2. 编写.pkg文件,填写需要导出的c/c++接口.
  3. 使用tolua可执行程序将pkg接口导出成LuaVm可调用的栈交互c/c++文件.
  4. 将第三步生成的文件和其他c/c++文件一起编译生成最终的可执行程序.

安装包解压后,在src/tests/目录下会有很多例子,而且提供了Makefile一键生成所有可执行文件, 这里以里面的tfunction文件作为例子介绍生成过程.

  1. tolua -o tfunctionbind.cpp tfunction.pkg
  2. g++ -o tfunction tfunction .cpp -ldl -llua -ltolua
    执行 tfunction可执行文件,即可看到tfunction.lua脚本执行的结果.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值