Luajit笔记---关于如何FFI与C++代码交互

Luajit最吸引的大概就是FFI,想知道这是什么就去官网上看,简单来说就是一个能让你在LUA里写C代码的东西,所以感觉很强大,这样与C交互的时候就不比去操作恶心的LUA堆栈。

不过FFI就目前我的认知来说,没有看起来的那么美好,首先一点就是无法注册宿主程序里的函数,最早我就是以为能直接注册宿主程序里的函数,结果搞了半天看到的都是加载一个DLL然后注册其函数,这样一来需要注册的函数岂不是都要打包成DLL?且不说麻烦不麻烦,很多时候Lua就是需要跟宿主程序交互,那岂不是还要使用恶心的原始API?而且因为Luajit对Lua进行了重新改造,像Luaplus这样的包装库也用不了了,要么自己写一个要么就去慢慢的push/pop吧。

虽然如此,目前来说如果是纯C库,使用FFI来调用还是很方便,这样可以很方便的拓展程序。


更新:FFI是可以与宿主程序交互的http://blog.csdn.net/fg5823820/article/details/8888207

你可能感兴趣的:(lua,luajit,ffi)