FFI::load

Loads C declarations from a C header file

&reftitle.description; public static ``FFI``null```FFI::load` `string` `filename`

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.

&reftitle.parameters;

`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"`.

&reftitle.returnvalues;

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

&reftitle.seealso;

- `FFI::scope`