函式名稱:FFI::free()
適用版本:PHP 7.4.0 或更高版本
函式說明:FFI::free() 用於釋放 FFI (Foreign Function Interface) 例項所分配的記憶體。FFI 是 PHP 7.4 中引入的一個功能,它允許在 PHP 中直接呼叫外部 C 程式碼。
用法示例:
<?php
// 定義 C 函式的結構體
$ffi = FFI::cdef("
void free(void *);
", "libc.so.6"); // 根據你的系統和庫檔案進行調整
// 分配記憶體
$ptr = $ffi->malloc(10);
// 使用分配的記憶體
// 釋放記憶體
$ffi->free($ptr);
?>
上述示例中,首先我們使用 FFI::cdef()
定義了一個 C 函式的結構體,這裡我們使用了 free()
函式。然後使用 $ffi->malloc()
分配了一個大小為 10 位元組的記憶體塊,並將返回的指標儲存在變數 $ptr
中。接下來,我們可以使用該記憶體塊進行操作。最後,使用 $ffi->free()
函式釋放了分配的記憶體。
請注意,FFI::free()
只能用於釋放由 FFI::malloc()
分配的記憶體塊。如果嘗試釋放其他型別的記憶體塊,可能會導致未定義的行為或記憶體洩漏。