ANSI C中__DATE__和__TIME__字符串的大小是否有标准定义?
这个问题背后的动机是:
我有两个应用程序在两个不同的CPU上运行。
在运行时,app#1从app#2接收日期和时间(作为版本信息的一部分)。
当然,app#2从预处理器__DATE__和__TIME__定义中获取它们。
所以我想知道我是否可以在app#1中静态分配一个数组,我可以在其中复制从app#2收到的信息。
由于
答案 0 :(得分:2)
__DATE__
源文件的翻译日期(字符串 字形“Mmm dd yyyy”,其中的月份名称 与asctime函数生成的相同,并且 如果值较小,则dd的第一个字符是空格字符 比10)。如果没有翻译日期, 应提供实施定义的有效日期。
__TIME__
源文件的翻译时间(字符串 形式为“hh:mm:ss”的字形,如同生成的时间 asctime功能)。如果没有翻译时间, 应提供实施定义的有效时间。
答案 1 :(得分:2)
ISO / IEC 9899:2011,§6.10.8.1强制性宏
__DATE__
预处理翻译单元的翻译日期:一个字符 字符串文字的形式“Mmm dd yyyy”,其中的名称 月份与asctime函数生成的月份相同 如果值小于10,则dd的第一个字符是空格字符 翻译日期不可用,是实施定义的有效日期 应提供。
__TIME__
预处理翻译单元的翻译时间:一个字符 形式为“hh:mm:ss”的字符串文字,如同生成的时间 asctime功能。如果没有翻译时间, 应提供实施定义的有效时间。
因此非常直截了当。