GCC获取本地时区中的构建日期和时间

GCC获取本地时区中的构建日期和时间,gcc,timezone,build-process,gcc-extensions,Gcc,Timezone,Build Process,Gcc Extensions,GCC提供了宏\uuuuuuuu日期

GCC提供了宏
\uuuuuuuu日期
\uuuuuu时间
,它们给出了包含生成日期和时间的字符串常量。然而,他们似乎给出了UTC的时间。是否有一些宏可以获取本地时区中的生成时间?

对SO的标记引擎不应处理的文本使用backtics:
`\uuuuuu DATE\uuuu`
。现在问题本身:我无法重现您的问题:
$echo\uuuuuuuuuuuuuu124; gcc-E-xc-| tail-1
给了我
“13:02:29”
这是正确的,而不是UTC:
$date+%t%Z%Z”
->
13:02:31 MSK+0300
似乎发生在我的两台机器上。输出是否与
日期
命令的输出不同?其他编译器/预处理器也会发生这种情况吗?也许您设置了一些不寻常的环境变量(您可以使用
env
列出它们)?最重要的是,
readlink/etc/localtime
的输出是什么?readlink的输出是空字符串。没有什么不寻常的环境。但输出与date命令不同。虽然readlink的4.7.2.1输出是空字符串,但GCC版本还是旧的——好吧,那么我想,您可能是时区配置错误,或者只是系统上的配置不同(然后它一定是不寻常的,或者只是GCC没有预料到……)。在我的机器上,
/ect/localtime
是指向
/usr/share/zoneinfo/Europe/Moscow
的符号链接。你使用的是什么系统?此外,出于兴趣,如果易于安装,我会尝试另一种编译器,例如clang。