ZHCUAU3K January 2018 – March 2025
编译器维护并识别表 12-39 中列出的预定义宏名称。
| 宏名称 | 说明 |
|---|---|
| __big_endian__ | 如果选择了大端模式(使用了 --endian=big 选项),则定义为 1;否则未定义。 |
| __C7000__ | 对于所有 C7000 子目标,定义为 1。 |
| __C7100__ | 对于 C7100 子目标,定义为 1。 |
| __C7120__ | 对于 C7120 子目标,定义为 1。 |
| __C7504__ | 对于 C7504 子目标,定义为 1。 |
| __C7524__ | 对于 C7524 子目标,定义为 1。 |
| __C7X_MMA__ | 除非指定了 --mma_version=disallow 选项,否则定义为 1。 |
| __C7X_MMA_1__ | 如果指定了 --mma_version=1 选项,则定义为 1。 |
| __C7X_MMA_2__ | 如果指定了 --mma_version=2 选项,则定义为 1。 |
| __C7X_MMA_2_256__ | 如果指定了 --mma_version=2_256 选项,则定义为 1。 |
| __C7X_MMA_2_256F__ | 如果指定了 --mma_version=2_256f 选项,则定义为 1。 |
| __C7X_NUM_SA__ | 定义为可用的流地址生成器数量。当前始终为 4。 |
| __C7X_NUM_SE__ | 定义为可用的流引擎数量。当前始终为 2。 |
| __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");