|
|
1
3
如果Alien不满足您的需要,而且如果DLL有一个强烈的面向对象的接口,您需要了解对象的成员和方法,以及调用导出函数,那么您应该考虑生成一个包装DLL,将旧API从DLL接口到Lua。 这可以通过包装生成器来完成,例如 Swig 它将根据类和函数的声明为Lua以及许多其他脚本语言编写包装器,通常只需要输入比现有.h文件多一点的内容。 Lua的代码也足够简单,可以更简单地用C语言手工编写自己的包装器。要做到这一点,从C语言中创建Lua可调用模块的标准方法开始,并实现将参数从Lua堆栈传输到适合于每个API调用的形式、调用到DLL以及将任何结果推回到Lua ST上的函数。ACK。这也是利用Lua为那些在dll中必须使用输出指针处理第二个(或更多)返回值的函数返回多个结果的能力的地方。一 discussion of the issues 一些示例代码可以在Lua用户的wiki上找到。 还有一页专门介绍 binding Lua to other languages 在Lua用户的wiki上。 |
|
|
2
3
尝试外星人: http://alien.luaforge.net/ 还有c/invoke: http://www.nongnu.org/cinvoke/lua.html |
|
|
3
0
你必须使用一个自动化工具,或者手工编写,一个C++接口。Lua不能处理直的C++代码。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |