tolua使用
简单记录一下tolua的使用(windows下)
tolua用与将c/c++暴露给lua调用,支持函数、类、枚举、普通数据类型等等,使用lua自带的CAPI其实也可以做到,实际上tolua就是占用做的,有兴趣的同学可以研究研究,优点是不需要手动写已经自动的参数检查;
lua包:http://www.lua.org/ftp/lua-5.1.4.tar.gz
tolua包:http://webserver2.tecgraf.puc-rio.br/~celes/tolua/
使用前准备:
tolua.exe生成:1.创建一个控制台程序,将源码里的.h和.c都包含进来;2.附加上lua的头文件和库文件;3.编译生成exe
.lib静态库生成:和tolua.exe一样,选择控制台静态库程序,生成.lib文件
自此完成使用前准备。
写一个测试程序。
1.lua附加库文件和头文件(我使用的是5.1,而且需要知道tolua现在也就支持5.1;已经很久没更新了)
2.附加上刚刚生成的.lib文件
3.写一个.pkg为后缀名的文件(这里我用test.pkg),文件里边使用tolua的格式,比如$#include "test.h"表示包含test.h这个头文件,搞c的一看就眼熟有没有,这个.pkg文件就是要导出给lua使用的,想导出什么就写什么;(源码中test目录下有许多例子我就不多bb了)
4.主角登场,命令行下用刚刚生成的tolua.exe生成导出的cpp文件; 比如tolua.exe -o test_export.cpp test.pkg 就会在同目录生成test_export文件
5.写一个lua文件跑一跑,完美
官方手册英文版
http://webserver2.tecgraf.puc-rio.br/~celes/tolua/tolua-3.2.html#utilities
中文版随便找都有
ps:tolua源码可以看看,辅助理解CAPI -_-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通