ffi.load
共有ライブラリをロードし、関数や変数にアクセスする
lua
ffi.load(name [, global])説明
ffi.load 関数は、指定された動的ライブラリをロードし、そのライブラリ内の関数やシンボルを新しいCライブラリ名前空間で利用できるようにします。name にはライブラリの名前またはパスを指定します。オプションの global に true を指定すると、ライブラリのシンボルがグローバル名前空間にもロードされます。
補足
nameがパスでない場合、ライブラリ名の解釈はシステムに依存します。- POSIXシステム:ドットが含まれない場合は
.so拡張子が追加され、必要に応じてlib接頭辞も追加されます(例:ffi.load("z")はlibz.soをロード)。 - Windowsシステム:ドットが含まれない場合は
.dll拡張子が追加されます(例:ffi.load("ws2_32")はws2_32.dllをロード)。
- POSIXシステム:ドットが含まれない場合は
サンプルコード
lua
local ffi = require("ffi")
local mylib = ffi.load("mylib")このコードは、mylib というライブラリをロードし、Luaからその機能にアクセスできるようにします。
互換性
- LuaJIT
関連項目
- ffi.C
- ffi.cdef