首页 > 解决方案 > C++ __TIME__ 从不同文件调用时不同

问题描述

我在玩预定义的宏时遇到了这个奇怪的事情。__TIME__所以基本上,当从不同的文件调用时,会发生这种情况:
__TIME__ 错误

无论如何我可以解决这个问题吗?或者为什么会这样?
我所做的只是printf("%s\n", __Time__);来自不同来源的不同功能。

标签: c++cmacrospreprocessor

解决方案


或者为什么会这样?

从文档:

该宏扩展为一个字符串常量,描述预处理器运行的时间

如果源文件是在不同时间编译的,那么时间也会不同。

无论如何我可以解决这个问题吗?

您可以使用命令行工具生成时间字符串,并将字符串作为宏定义传递给编译器。这样,该命令编译的所有文件的时间都是相同的。


推荐阅读