c 程序 static_assert() char 位=16
c program static_assert() char bit=16
这段代码中的CHAR_BIT==16
是什么意思?它不编译,我不明白原因以及将要放入什么代码才能编译?
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
static_assert(CHAR_BIT==16,"16 bit falsely assumed");
int main()
{
puts("hello world this");
return 0;
}
CHAR_BIT
在 <limits.h>
中定义。您需要将其包含在代码中才能编译。
CHAR_BIT
是 limits.h
中定义的宏。它提到了 char
中的位数。大多数系统使用 8 位,但也有更少(7 位)或更多的架构。
在您的代码中,断言正在检查,如果系统将 16 位用于 char
,则只有代码会编译。
注意:根据您的编译器版本和支持,您可能需要改用 _Static_assert
。
这段代码中的CHAR_BIT==16
是什么意思?它不编译,我不明白原因以及将要放入什么代码才能编译?
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
static_assert(CHAR_BIT==16,"16 bit falsely assumed");
int main()
{
puts("hello world this");
return 0;
}
CHAR_BIT
在 <limits.h>
中定义。您需要将其包含在代码中才能编译。
CHAR_BIT
是 limits.h
中定义的宏。它提到了 char
中的位数。大多数系统使用 8 位,但也有更少(7 位)或更多的架构。
在您的代码中,断言正在检查,如果系统将 16 位用于 char
,则只有代码会编译。
注意:根据您的编译器版本和支持,您可能需要改用 _Static_assert
。