Skip to content

ffi.load

共有ライブラリをロードし、関数や変数にアクセスする

lua
ffi.load(name [, global])

説明

ffi.load 関数は、指定された動的ライブラリをロードし、そのライブラリ内の関数やシンボルを新しいCライブラリ名前空間で利用できるようにします。name にはライブラリの名前またはパスを指定します。オプションの globaltrue を指定すると、ライブラリのシンボルがグローバル名前空間にもロードされます。

補足

  • name がパスでない場合、ライブラリ名の解釈はシステムに依存します。
    • POSIXシステム:ドットが含まれない場合は .so 拡張子が追加され、必要に応じて lib 接頭辞も追加されます(例:ffi.load("z")libz.so をロード)。
    • Windowsシステム:ドットが含まれない場合は .dll 拡張子が追加されます(例:ffi.load("ws2_32")ws2_32.dll をロード)。

サンプルコード

lua
local ffi = require("ffi")

local mylib = ffi.load("mylib")

このコードは、mylib というライブラリをロードし、Luaからその機能にアクセスできるようにします。

互換性

  • LuaJIT

関連項目

  • ffi.C
  • ffi.cdef