为什么我不能在 PHP FFI 的结构上使用字、字节?但是 char, int, short 有效吗?

Why i cannot use word, byte on struct in PHP FFI? But char, int, short works?

我的代码:

public function loadFFI()
{
    FFI::load("C:\phptest\dummy.h");
}

dummy.h:

struct ffitest
{
    char test1[16];
    byte test2;
};

错误:

PHP Fatal error: Uncaught FFI\ParserException: Undefined C type "byte" at line 4

为什么我不能在 PHP FFI 中的 struct 中使用 wordbytecharintshort 按预期工作。

标准 C 中有 no such thing 作为 byte 数据类型。由于 char 已定义为单个字节,因此您应该使用它。如果您想要值 0-255 而不是 -127 到 127,请不要忘记将其设置为 unsigned char.