在:
#define VERSION_TIMESTAMP __DATE__" "__TIME__"\x0"
存在组件:“ __ DATE __ ”和“ __ TIME __ ”
我在哪里可以找到这个的定义?
答案 0 :(得分:3)
它们在C和implemented in gcc as Standard Predefined Macros中定义:
标准预定义宏由相关语言标准指定,因此所有编译器都可以使用它们来实现这些标准。较旧的编译器可能无法提供所有这些。他们的名字都以双重下划线开头。
答案 1 :(得分:1)
定义可以在C标准(来自N1570)中找到:
6.10.8.1强制宏
1以下宏名称应由实现定义:
__ DATE __ 预处理翻译单元的翻译日期:一个字符 形式为" Mmm dd yyyy" 的字符串文字,其中的名称为 月份与 asctime 功能生成的月份相同 如果值小于10,则 dd 的第一个字符是空格字符 翻译日期不可用,是实施定义的有效日期 应提供。
...
__ TIME __ 预处理翻译单元的翻译时间:一个字符 形式为" hh:mm:ss" 的字符串文字,如同在 asctime 功能。如果没有翻译时间, 应提供实施定义的有效时间。