c++ - C++ __TIME__ 从不同文件调用时不同
问题描述
我在玩预定义的宏时遇到了这个奇怪的事情。__TIME__
所以基本上,当从不同的文件调用时,会发生这种情况:
无论如何我可以解决这个问题吗?或者为什么会这样?
我所做的只是printf("%s\n", __Time__);
来自不同来源的不同功能。
解决方案
或者为什么会这样?
从文档:
该宏扩展为一个字符串常量,描述预处理器运行的时间。
如果源文件是在不同时间编译的,那么时间也会不同。
无论如何我可以解决这个问题吗?
您可以使用命令行工具生成时间字符串,并将字符串作为宏定义传递给编译器。这样,该命令编译的所有文件的时间都是相同的。