ZHCU820Y September 2004 – June 2021
编译器维护并识别表 3-30 中列出的预定义宏名称。
宏名称 | 说明 |
---|---|
__DATE__(1) | 以mmm dd yyyy 形式扩展到编译日期 |
__FILE__(1) | 扩展到当前源文件名 |
__LARGE_CODE_MODEL__ | 如果指定了 --code_model=large,则已定义 |
__LARGE_DATA_MODEL__ | 如果指定了 --data_model=large 或 −−data_model=restricted,则已定义 |
__LINE__(1) | 扩展到当前行号 |
__LONG_PTRDIFF_T__ | 如果指定了 --data_model=large 时,则已定义。指示 ptrdiff_t 为 long。 |
__MSP430__ | 始终已定义 |
__MSP430X__ | 如果指定了 --silicon_version=mspx,则已定义 |
__MSP430X461X__ | 如果指定了 --silicon_version=mspx,则已定义 |
__PTRDIFF_T_TYPE__ | 设置为 ptrdiff_t 类型。由 --data_model 选项确定。 |
__signed_chars__ | 如果 char 类型默认为有符号类型 (--plain_char=signed),则已定义 |
__SIZE_T_TYPE__ | 设置为 size_t 类型。由 --data_model 选项确定。 |
__STDC__(1) | 定义为 1 以表示编译器符合 ISO C 标准。有关ISO C一致性的例外情况,请参阅Topic Link Label6.1。 |
__STDC_VERSION__ | C 标准宏。 |
__STDC_HOSTED__ | C 标准宏。始终定义为 1。 |
__STDC_NO_THREADS__ | C 标准宏。始终定义为 1。 |
__TI_COMPILER_VERSION__ | 定义为 7-9 位整数,具体取决于 X 是 1、2 还是 3 位。该数字不包含小数。例如,版本 3.2.1 表示为 3002001。去掉前导零以防止数字被解释为八进制。 |
__TI_EABI__ | 如果启用了 EABI(请参阅Topic Link Label3.13),则定义为 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”形式扩展到编译时间 |
__unsigned_chars__ | 如果 char 类型默认为无符号类型(默认设置或 --plain_char=unsigned),则已定义 |
__UNSIGNED_LONG_SIZE_T__ | 如果指定了 --data_model=large 时,则已定义。指示 size_t 为无符号长类型。 |
_INLINE | 如果使用了优化(--opt_level 或 -O 选项),则扩展为 1;否则未定义。 |
可以按照与任何其他已定义名称相同的方式使用表 3-30 中列出的名称。例如,
printf ( "%s %s" , __TIME__ , __DATE__);
转换为类似如下行:
printf ("%s %s" , "13:58:17", "Jan 14 1997");