array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'ffi.load.php', 1 => 'FFI::load', ), 'up' => array ( 0 => 'class.ffi.php', 1 => 'FFI', ), 'prev' => array ( 0 => 'ffi.isnull.php', 1 => 'FFI::isNull', ), 'next' => array ( 0 => 'ffi.memcmp.php', 1 => 'FFI::memcmp', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/ffi/ffi/load.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7 >= 7.4.0, PHP 8)
FFI::load — Charge les déclarations C à partir d'un fichier d'en-tête C
Charge les déclarations C à partir d'un fichier d'en-tête C. Il est possible de spécifier les bibliothèques partagées qui doivent être chargées,
en utilisant des définitions spéciales FFI_LIB
dans le fichier d'en-tête C chargé.
filename
Le nom d'un fichier d'en-tête C.
Les directives du préprocesseur C ne sont pas supportées, c'est-à-dire #include
,
#define
et les macros CPP ne fonctionnent pas, sauf dans les cas particuliers
énumérés ci-dessous.
Le fichier d'en-tête devrait contenir une déclaration #define
pour la variable
FFI_SCOPE
, par exemple : #define FFI_SCOPE "MYLIB"
.
Reportez-vous à l'introduction de la classe pour plus de détails.
Le fichier d'en-tête peut contenir une déclaration #define
pour la variable
FFI_LIB
pour spécifier la bibliothèque qu'elle expose. S'il s'agit d'une
bibliothèque système, seul le nom du fichier est requis, par exemple : #define FFI_LIB
"libc.so.6"
. S'il s'agit d'une bibliothèque personnalisée, un chemin relatif est requis,
par exemple : #define FFI_LIB "./mylib.so"
.