gpt4 book ai didi

c - __TIME__ 预处理器宏是否保证在文件中保持不变?

转载 作者:太空狗 更新时间:2023-10-29 17:03:31 24 4
gpt4 key购买 nike

出于好奇,我想知道标准 __TIME__ 预处理器宏给出的值是否可以在单个翻译单元内更改?

换句话说,__TIME__是在预处理时确定一次然后固定,还是每次遇到都重新计算?

如果 C 标准没有指定,主要实现(gnu、clang、intel、msvc)之间是否有事实上的标准行为?

最佳答案

C 没有严格指定“翻译时间”在整个预处理/编译过程中是恒定的。

我的经验是它是不变的。但由于它只是第二个,给定的编译需要跨越第二个边界才能有所不同。

__TIME__ The time of translation of the preprocessing translation unit: a character string literal of the form "hh:mm:ss" as in the time generated by the asctime function. If the time of translation is not available, an implementation-defined valid time shall be supplied. C11 §6.10.8.1 1

The definitions for __DATE__ and __TIME__ when respectively, the date and time of translation are not available (6.10.8.1). (Informative) C11 §J.3.11 1

关于c - __TIME__ 预处理器宏是否保证在文件中保持不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com