这个:
local ffi = require "ffi"
ffi.cdef[[
int return_one_two_four(){
return 124;
}
]]
local function print124()
print(ffi.C.return_one_two_four())
end
print124()
Run Code Online (Sandbox Code Playgroud)
抛出错误:
Error: main.lua:10: cannot resolve symbol 'return_one_two_four': The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)
我对C有一种温和的把握,并希望在一些事情上使用它的一些优点,但我在LuaJIT的FFI库中找不到很多例子.它似乎cdef只用于函数声明而不是定义.如何在C中创建函数然后在Lua中使用它们?
当您#include使用 进行归档时<>,编译器会搜索特定位置的标头。我应该在哪里保存 lua 文件才能使其正常工作?我想我知道 gcc 的所有(?).h文件在哪里。或者我是否必须将它们保存在同一个项目文件夹中并#include "lua.h"改为这样做?我认为我应该使用 LuaDist 中的任何内容而不是二进制文件,因为它没有编译。
(如果需要知道的话,我正在使用Windows)