PHP8 FFI::new — 创建 C 数据结构

2023-09-05 11:19 更新

(PHP 7 >= 7.4.0, PHP 8)

FFI::new — 创建 C 数据结构

说明

public static FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData

创建给定 C 类型的本机数据结构。如果静态调用此方法,则它只能使用预定义的 C 类型名称(例如 int、char 等);如果该方法作为实例方法调用,则允许为该实例声明的任何类型。

参数

type

type​ 是作为字符串的有效 C 声明,或者是已创建的 FFI\CType 实例。

owned

是否创建自有(即托管)数据或非托管数据。托管数据与返回的 FFI\CData 对象一起存在,并在常规 PHP 引用计数或 GC 释放对该对象的最后一个引用时释放。当不再需要时,应通过调用 FFI::free() 来释放非托管数据。

persistent

是否在系统堆(使用 malloc())或 PHP 请求堆(使用 emalloc())上永久分配 C 数据结构。

返回值

返回新创建的 FFI\CData 对象,失败时返回 null。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号