LuaJIT的FFI能像JIT一样被禁用吗?

针对一个项目,我需要禁用 LuaJIT 的 FFI(外部函数接口)以供 API 用户使用。我已经搜索了 LuaJIT 的 Wiki 和 Stack Overflow 并没有找到任何关于这方面的内容。

点赞
用户3204551
用户3204551

基本上有两种方法可以禁用LuaJIT上脚本的FFI:

  1. 编译时不使用FFI支持:

    使用选项 -DLUAJIT_DISABLE_FFI

  2. 从全局环境中移除FFI,并过滤require

2014-08-15 23:58:19
用户668125
用户668125

另外,您可以(或者应该,因为如果您不信任您的用户,不仅 ffi 是个问题,例如 setmetatable(“”,{...}) 也可能是问题)使用沙箱。例如:http://lua-users.org/wiki/SandBoxeshttps://github.com/yEngine/YEng/blob/master/modules/sandbox/init.lua

2015-03-27 10:29:41