[英]calling c functions from lua script
我在此找到了一些参考,但无法使它们起作用。 我有一个带有mysql和mysql-proxy的Debian盒子。 我正在用LUA脚本拦截SQL查询。
function read_query(packet)
if packet:byte() ~= proxy.COM_QUERY then
print("error read (COM_QUERY)")
end
local query = packet:sub(2)
print ("query : " .. query )
//Transformation here
return proxy.PROXY_SEND_QUERY
end
我想解析并处理查询,以便可以使用一些已经开发的c函数将其重写。 我正在尝试找到调用此功能的方法,但是我发现的唯一方法是假设c MAIN函数启动LUA注册过程。
有什么方法可以使LUA脚本在已编译的C文件中调用该函数?
我应该如何拨打(LUA)和接听(C)电话的任何示例?
SWIG是为您生成绑定的一个不错的选择:www.swig.org。 您创建一个.i文件,在其中加载您的C标头,然后SWIG为您生成所有绑定代码。 然后,您编译生成的代码,将其链接到C库和Lua库,并在脚本中输入“ yourCLibrary”,即可完成所需的操作。 非常实用,您的包装器可用于从其他语言(如Python和C#)访问yourCLibrary。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.