__STDC_ENDIAN_LITTLE__, __STDC_ENDIAN_BIG__, __STDC_ENDIAN_NATIVE__
来自cppreference.com
(重定向自c/numeric/endian)
| 在标头 <stdbit.h> 定义
|
||
| |
(1) | (C23 起) |
| |
(2) | (C23 起) |
| |
(3) | (C23 起) |
- 若所有标量类型均为小端,则
__STDC_ENDIAN_NATIVE__等于__STDC_ENDIAN_LITTLE__。 - 若所有标量类型均为大端,则
__STDC_ENDIAN_NATIVE__等于__STDC_ENDIAN_BIG__。 - 若平台不使用大端或小端,则
__STDC_ENDIAN_NATIVE__既不等于__STDC_ENDIAN_BIG__也不等于__STDC_ENDIAN_LITTLE__。 __STDC_ENDIAN_BIG__和__STDC_ENDIAN_LITTLE__的整数常量表达式的值不同。
示例
运行此代码
#include <stdbit.h>
#include <stdio.h>
int main()
{
switch(__STDC_ENDIAN_NATIVE__)
{
case __STDC_ENDIAN_LITTLE__:
printf("__STDC_ENDIAN_LITTLE__\n");
break;
case __STDC_ENDIAN_BIG__:
printf("__STDC_ENDIAN_BIG__\n");
break;
default:
printf("mixed-endian\n");
}
return __STDC_ENDIAN_NATIVE__;
}
可能的输出:
mixed-endian
参阅
endian 的 C++ 文档
|