如何获得__TIME__的UTC偏移量?

时间:2011-04-30 21:26:56

标签: time c99

我们正在使用__TIME__将编译时间嵌入到二进制文件中。不幸的是,没有UTC偏移的时间是没有意义的。我没有看到一个明显的方法来获取运行编译器的时区。我想我可以从configure脚本中获取它。但是有更好的方法吗?

如果我从配置脚本执行此操作,我将需要以某种方式将其放入.h或.c文件中,并且如果文件不存在则执行一些智能操作。

1 个答案:

答案 0 :(得分:2)

您可以使用编译器标志从外部传递。大多数编译器提供'-D'标志以在外部定义#define宏。假设您将UTC信息放在环境变量中。将该环境变量传递为-D标志

set $myUTC="-7"
gcc -c mysource.cpp -DUTC=$myUTC

mysource.cpp中使用宏UTC

printf("Compiled at %d Offset %d", __TIME__, UTC);