PHP8 FFI::new — 創(chuàng)建 C 數(shù)據(jù)結(jié)構(gòu)

2023-09-05 11:19 更新

(PHP 7 >= 7.4.0, PHP 8)

FFI::new — 創(chuàng)建 C 數(shù)據(jù)結(jié)構(gòu)

說明

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

創(chuàng)建給定 C 類型的本機(jī)數(shù)據(jù)結(jié)構(gòu)。如果靜態(tài)調(diào)用此方法,則它只能使用預(yù)定義的 C 類型名稱(例如 int、char 等);如果該方法作為實例方法調(diào)用,則允許為該實例聲明的任何類型。

參數(shù)

type

?type? 是作為字符串的有效 C 聲明,或者是已創(chuàng)建的 FFI\CType 實例。

owned

是否創(chuàng)建自有(即托管)數(shù)據(jù)或非托管數(shù)據(jù)。托管數(shù)據(jù)與返回的 FFI\CData 對象一起存在,并在常規(guī) PHP 引用計數(shù)或 GC 釋放對該對象的最后一個引用時釋放。當(dāng)不再需要時,應(yīng)通過調(diào)用 FFI::free() 來釋放非托管數(shù)據(jù)。

persistent

是否在系統(tǒng)堆(使用 malloc())或 PHP 請求堆(使用 emalloc())上永久分配 C 數(shù)據(jù)結(jié)構(gòu)。

返回值

返回新創(chuàng)建的 FFI\CData 對象,失敗時返回 null。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號