ZHCUAU3J January 2018 – March 2024
编译器维护并识别表 12-39 中列出的预定义宏名称。
宏名称 | 说明 |
---|---|
__big_endian__ | 如果选择了大端模式(使用了 --endian=big 选项),则定义为 1;否则未定义。 |
__C7000__ | 对于所有 C7000 子目标,定义为 1。 |
__C7100__ | 对于 C7100 子目标,定义为 1。 |
__C7120__ | 对于 C7120 子目标,定义为 1。 |
__C7504__ | 对于 C7504 子目标,定义为 1。 |
__C7X_VEC_SIZE_BITS__ | 定义为 512 或 256,具体取决于 --silicon_version/-mv 选项。 |
__C7X_VEC_SIZE_BYTES__ | 定义为 64 或 32,具体取决于 --silicon_version/-mv 选项。 |
__DATE__(1) | 以mmm dd yyyy 形式扩展到编译日期 |
__FILE__(1) | 扩展到当前源文件名 |
_INLINE | 如果使用了优化(--opt_level 或 -O 选项),则扩展为 1;否则未定义。 |
__LINE__(1) | 扩展到当前行号 |
__little_endian__ | 如果选择了小端模式(未使用 --big_endian 选项),则定义为 1;否则未定义。 |
__PTRDIFF_T_TYPE__ | 定义为 ptrdiff_t 类型,即 long |
__SIZE_T_TYPE__ | 定义为 size_t 类型,即 unsigned long |
__STDC__(1) | 定义为 1 以表示编译器符合 ISO C 标准。有关ISO C标准的例外情况,请参阅节 5.1。 |
__STDC_VERSION__ | C 标准宏。 |
__STDC_HOSTED__ | C 标准宏。始终定义为 1。 |
__STDC_NO_THREADS__ | C 标准宏。始终定义为 1。 |
__TI_C99_COMPLEX_ENABLED__ | 如果启用了复杂数据类型,则定义为 1。尽管数学运算仅在包含 complex.h 时才可用,但情况总是如此。 |
__TI_COMPILER_VERSION__ | 已定义为 7-9 位整数,具体取决于 X 是 1、2 还是 3 位。该数字不包含小数。例如,版本 3.2.1 表示为 3002001。去掉前导零以防止数字被解释为八进制。 |
__TI_EABI__ | 始终定义为 1。 |
__TI_GNU_ATTRIBUTE_SUPPORT__ | 如果启用了 GCC 扩展(这是默认设置),则定义为 1 |
__TI_STRICT_ANSI_MODE__ | 如果启用了严格的ANSI/ISO 模式(使用了 --strict_ansi 选项),则定义为 1;否则定义为 0。 |
__TI_STRICT_FP_MODE__ | 如果使用了 --fp_mode=strict(默认设置),则定义为 1;否则定义为 0。 |
__TIME__(1) | 以“hh:mm:ss”形式扩展到编译时间 |
__WCHAR_T_TYPE__ | 定义为 wchar_t 类型,即 unsigned int。 |
可以按照与任何其他已定义名称相同的方式使用表 12-39 中列出的名称。例如,
printf ( "%s %s" , __TIME__ , __DATE__);
转换为类似如下行:
printf ("%s %s" , "13:58:17", "Jan 14 1997");