« FFI::cast
FFI::free »

FFI::cdef

(PHP 7 >= 7.4.0, PHP 8)

FFI::cdef — 新しい FFI オブジェクトを作成する

説明

public static function FFI::cdef(string $code = "", ?string $lib = null): FFI

新しい FFI オブジェクトを作成します。

パラメータ

code

通常の C 言語の宣言 (型、構造体、関数、変数など) を含む文字列。 実際には、この文字列は C のヘッダーファイルからコピーペーストしてきたものかもしれません。

注意:

C のプリプロセッサーディレクティブはサポートされていません。 例えば、#include や #define、プリプロセッサーマクロは動作しません。

lib

共有ライブラリの名前。 ここで指定したライブラリが読み込まれ、与えた定義とリンクされます。

注意:

lib を省略したり null を渡したりすると、 RTLD_DEFAULT をサポートしているプラットフォームでは、 通常のグローバルスコープから code で宣言されているシンボルを探索しようとします。 そうでないシステムでは、シンボルの解決に失敗します。

戻り値

新しく作成された FFI オブジェクトを返します。

変更履歴

バージョン 説明
8.3.0 void を返す C の関数が、FFI\CType::TYPE_VOID ではなく PHP の null を返すようになりました。
8.0.0 lib は、nullable になりました。
関連キーワード:
cdef   code   通常   宣言   サポート   ライブラリ   シンボル   cast   free   static   言語   構造体   変数   実際   ヘッダー   コピーペースト   プリプロセッサーディレクティブ   define   プリプロセッサーマクロ   共有   省略   プラットフォーム   スコープ   探索   解決
関連する関数・ページ:
ffi.load   ffi.cast   class.ffi   ffi.examples-basic   function.is-file   ffi.scope