libffi的手冊頁提供了一個示例,實質上,它需要一個指向該函數的指針(在示例中爲puts
)。調用函數的名稱而不是函數的指針
但是,如果我只知道函數的名稱,但實際上沒有指針(如果ffi用於動態編程語言中,通常會發生這種情況),該怎麼辦?
說,我想這樣做(僞):
cif = null
s = "Hello World"
args = []
values = []
args[0] = ffi.type_pointer
values[0] = address_of(s)
if(ffi.prepare(cif, ffi.DEFAULT_ABI, ffi.type_uint, args)):
ffi.call(cif, "puts", values)
總之,我想有libffi動態查找功能(如果那是通過FFI在首位支持)相似dlfcn/LoadLibrary,然後用提供的FFI CIF類型調用它。
這樣的事情可能與libffi?一個簡單的例子會是什麼樣子?