FFI::load

C のヘッダーファイルから C の宣言を読み込む

説明

public static FFInull FFI::load(string $filename)

C のヘッダーファイルから C の宣言を読み込みます。 読み込まれる C のヘッダーファイル内で特殊な define FFI_LIB を使うことで、 読み込む共有ライブラリを指定することが可能です。

パラメータ

filename

C のヘッダーファイル名。

C のプリプロセッサーディレクティブはサポートされていません。 例えば、#include#define、プリプロセッサーマクロは動作しません。 ただし、次に挙げる特殊な場合を除きます。

このヘッダーファイルでは、#define 文で FFI_SCOPE 変数を定義すべきです (例: #define FFI_SCOPE "MYLIB")。 詳しくは FFI クラスの概要 を参照してください。

このヘッダーファイルでは、#define 文で FFI_LIB 変数を定義することで、公開するライブラリを指定しても構いません。 それがシステムライブラリなら、必要なのはファイル名だけです (例: #define FFI_LIB "libc.so.6")。カスタムライブラリなら、相対パスが必要です (例: #define FFI_LIB "./mylib.so")。

戻り値

新しく作成された FFI オブジェクトを返します。 失敗時には null を返します。

変更履歴

バージョン 説明
8.3.0 現在のシステムユーザが opcache.preload_user 設定ディレクティブで定義されたユーザと同じである場合、 事前ロードスクリプト の中で FFI::load を呼べるようになりました。

参考

  • FFI::scope