FFI::cdef

(PHP 7 >= 7.4.0)

FFI::cdefCreates a new FFI object

Opis

public static FFI::cdef ([ string $code = "" [, string $lib ]] ) : FFI

Creates a new FFI object.

Parametry

code

A string containing a sequence of declarations in regular C language (types, structures, functions, variables, etc). Actually, this string may be copy-pasted from C header files.

Informacja:

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work.

lib

The name of a shared library file, to be loaded and linked with the definitions.

Informacja:

If lib is omitted, platforms supporting RTLD_DEFAULT attempt to lookup symbols declared in code in the normal global scope. Other systems will fail to resolve these symbols.

Zwracane wartości

Returns the freshly created FFI object.

add a note add a note

User Contributed Notes 1 note

up
1
derrekbertrand at gmail dot com
4 years ago
You'll probably want to add a C header file, but as of the current version preprocessor directives do not work... so what do? On systems with GCC run the file through this command:

cpp -P /usr/include/unprocessedheader.h -o myprettyheader.h

Note that because preprocessing is not suppored in FFI, C/C++ macros are not supported either. You'll probably still have to write a small wrapper in C unless your library has an exceedingly simple public API.
To Top