如何在c ++程序中实现类似于linux / proc / version的功能?

时间:2012-01-17 14:34:49

标签: c++ linux

我有一个在嵌入式系统上运行的C ++程序。当客户端遇到问题时,他会向我发送一个日志文件。很高兴看到二进制文件在日志中的确切构建时间。所以,目前我使用这种简单但非常无效的方法:

...

const std::string APP_BUILD = "2012.01.17.18:28";

int main()
{
     std::cout << "Was built: " << APP_BUILT << std::endl;
}

我想要做的是在构建期间自动设置APP_BUILD。我知道Linux有/ proc / version变量可以读取以确定构建时间。我读了

cat /proc/version
Linux version 2.6.38-13-generic (buildd@allspice) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #53-Ubuntu SMP Mon Nov 28 19:33:45 UTC 2011

可以这样做吗? (我正在Linux中构建我的应用程序。)

1 个答案:

答案 0 :(得分:9)

听起来您正在寻找__DATE____TIME__宏。这些标准宏在C和C ++中都有。

例如,请参阅gcc manual

相关问题