为什么我不能在 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
中使用 word
或 byte
? char
、int
和 short
按预期工作。
标准 C 中有 no such thing 作为 byte
数据类型。由于 char
已定义为单个字节,因此您应该使用它。如果您想要值 0-255 而不是 -127 到 127,请不要忘记将其设置为 unsigned char
.
我的代码:
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
中使用 word
或 byte
? char
、int
和 short
按预期工作。
标准 C 中有 no such thing 作为 byte
数据类型。由于 char
已定义为单个字节,因此您应该使用它。如果您想要值 0-255 而不是 -127 到 127,请不要忘记将其设置为 unsigned char
.