当前位置:  开发笔记 > 编程语言 > 正文

Lua脚本调用C共享库的最佳方法是什么?

如何解决《Lua脚本调用C共享库的最佳方法是什么?》经验,为你挑选了0个好方法。

我来自更多的Python和CTYPES背景......我正在尝试找出从Lua脚本调用标准C共享库的最佳方法.

我听说过"异形"(http://alien.luaforge.net/),但我不确定它是最新的?意思是它定期更新?

例如,我知道他们是一个SQLite Lua库,但是我想说我想调用在编译SQLIte时创建的SQLite共享库?

例如:在我的例子中,lib位于/usr/local/lib/libsqlite3.so中

如果我写一个小的虚拟脚本只是为了看它是否可以加载lib

require "libsqlite3"

print "hello"

我收到以下错误:

debian@debian:~/Desktop/SQLite Test$ lua sqlite_test.lua
lua: error loading module 'libsqlite3' from file '/usr/local/lib/lua/5.2/libsqlite3.so':
    /usr/local/lib/lua/5.2/libsqlite3.so: undefined symbol: luaopen_libsqlite3
stack traceback:
    [C]: in ?
    [C]: in function 'require'
    sqlite_test.lua:1: in main chunk
    [C]: in ?
debian@debian:~/Desktop/SQLite Test$ 

这是否意味着Lua不能"开箱即用"调用共享库,而且我必须使用像Alien这样的东西?

我知道我也可以这样编写共享库,它包含Lua头文件,我可以制作"Lua函数"......我只是希望我可以调用盒子上"标准"的共享库.

非常感谢帮助或建议;-)

谢谢

林顿

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有