# FFI::load

(PHP 7 >= 7.4.0, PHP 8)

FFI::load — Loads C declarations from a C header file

### 说明

public static FFI::load(string `$filename`): ?FFI

Loads C declarations from a C header file. It is possible to specify shared libraries that should be loaded, using special `FFI_LIB` defines in the loaded C header file.

### 参数

`filename`
  The name of a C header file. C preprocessor directives are not supported, i.e. `#include`, `#define` and CPP macros do not work, except for special cases listed below. The header file should contain a `#define` statement for the `FFI_SCOPE` variable, e.g.: `#define FFI_SCOPE "MYLIB"`. Refer to the class introduction for details. The header file may contain a `#define` statement for the `FFI_LIB` variable to specify the library it exposes. If it is a system library only the file name is required, e.g.: `#define FFI_LIB "libc.so.6"`. If it is a custom library, a relative path is required, e.g.: `#define FFI_LIB "./mylib.so"`.

### 返回值

Returns the freshly created FFI object, or `null` on failure.

### 更新日志

版本 | 说明
--- | ---
8.3.0 | FFI::load() is now allowed in preload scripts when the current system user is the same as the one defined in the `opcache.preload_user` configuration directive.

### 参见

- FFI::scope() - Instantiates an FFI object with C declarations parsed during preloading

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open