我最近看着Lua,它看起來非常好。唯一令人討厭的是它缺乏(標準)庫。但隨着JIT編譯器出現了一個很好的FFI C接口。我試圖儘量避免使用C,所以我的問題是:有沒有人有使用LuaJIT的經驗,特別是FFI接口,以及爲有些人設置一個庫是多麼困難在C中沒有任何知識?LuaJIT FFI有多難?
10
A
回答
16
好象很簡單對我來說,和Mike鮑爾上有here,lua的郵件列表中還包括一些很好的例子一些不錯的教程,所以檢查出的檔案以及
2
是多麼困難設置在C中爲某人提供一個小到不到 的知識庫?
真的很容易。首先,你需要聲明你想使用的函數。然後,加載目標庫並將其分配給一個Lua變量。使用該變量來調用外部函數。
下面是使用C的數學庫中的函數powf
的示例。
local ffi = require("ffi")
-- Whatever you need to use, have to be declared first
ffi.cdef([[
double powf(double x, double y);
]])
-- Name of library to load, i.e: -lm (math)
local math = ffi.load("m")
-- Call powf
local n, m = 2.5, 3.5
print(math.powf(n, m))
相關問題
- 1. luajit ffi實現塊終結器
- 2. 愛2D和ffi luajit,試圖使用PHYSFS_enumerateFiles()
- 3. Luajit ffi如何在time.h中調用funcitons?
- 4. 將LuaJIT FFI結構轉換爲表
- 5. 使用luajit ffi爲execvp將變量args轉換爲char * const []
- 6. luajit FFI構造函數的參數路由
- 7. luajit ffi函數返回字符串的奇怪輸出
- 8. 如何使用LuaJIT和FFI將clib函數合併到表中?
- 9. LuaJIT矢量庫
- 10. 通過luajit調用winhttp
- 11. Haskell多線程有多困難?
- 12. 在Windows 10上的LuaJIT:未知的luaJIT命令或jit。*
- 13. 如何將函數從C++可執行文件暴露給LuaJIT
- 14. 爲什麼LuaJIT這麼好?
- 15. 在redhat上安裝LuaJIT ppc64
- 16. GraphicsMagick FFI問題
- 17. 如何PureScript FFI
- 18. Go動態FFI
- 19. 使用NetBeans RCP有多困難?
- 20. 實現時間標記器有多難?
- 21. 具有更多條件的困難XPath
- 22. 從symfony2到symfony 1有多難?
- 23. GP-GPU的API有多難看?
- 24. 在App Purchase中實現有多難?
- 25. 動態渲染視頻有多困難?
- 26. 修改Django模型有多難?
- 27. 已棄用Java HttpClient - 它有多難?
- 28. Ruby FFI沒有找到某些功能?
- 29. JRuby中沒有FFI的XML處理?
- 30. Haskell FFI - mallocForeignPtr用法