函式名:FFI\CType::getAlignment()
適用版本:PHP 7.4.0 及以上版本
用法:FFI\CType::getAlignment() 函式用於獲取 C 型別的對齊方式。
示例:
<?php
// 定義 C 結構體
$ffi = FFI::cdef("
typedef struct {
int id;
char name[20];
float salary;
} Employee;
", "libc.so.6");
// 獲取 Employee 結構體的對齊方式
$alignment = FFI\CType::getAlignment($ffi->type("Employee"));
echo "Employee 結構體的對齊方式為:$alignment 位元組";
?>
輸出:
Employee 結構體的對齊方式為:4 位元組
解釋: 在上面的示例中,我們首先使用 FFI 擴充套件定義了一個名為 Employee 的 C 結構體。然後,我們使用 FFI\CType::getAlignment() 函式獲取了 Employee 結構體的對齊方式。最後,我們將對齊方式輸出到螢幕上。
對齊方式是指編譯器在分配記憶體時,按照一定規則將結構體的成員對齊到特定的位元組邊界。在示例中,Employee 結構體的對齊方式為 4 位元組,這意味著每個成員的起始地址都必須是 4 的倍數。