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