获取程序在C/C++/Oj-C中编译的时间

Obtaining the time when a program was compiled in C/C++/Obj-C

本文关键字:编译 时间 Oj-C C++ 程序 获取      更新时间:2023-10-16

我为我的iPhone和iPad应用程序开发了一个简单的实用程序,它在应用程序的右下角放置一个小水印视图,显示捆绑包版本,并表明该应用程序仍在开发中(你会惊讶于有多少客户作为敏捷流程的一部分得到了测试版本,在没有告诉他们这是测试版本的情况下向他们的同事展示,我们因此受到了抨击)。

作为其中的一部分,我想包括该应用程序特定版本的编译日期。例如,如果我在2012年9月24日(星期一)上午8点53分编译它,它就会在水印上这么说。在一天的时间里,我经常向许多人发送许多构建,修复许多小问题,尤其是在开发的后期,当我调整UI和抛光时。能够将构建日期与版本控制消息等进行比较会很有帮助,因为不同的测试人员通常会报告已修复的问题。在工作顺利完成之前,增加版本号对于诸如更改标签或更正拼写错误等简单的事情没有多大意义。

既然你有了我的动机,我想知道是否有一种方法可以在编译时设置编译发生的时间。我希望它是某种C宏,我可以设置为变量赋值。

有人知道这是否可能吗。

提前谢谢。

编辑:我找到了。我不敢相信我的其他谷歌用户都没有发现这个。典型的是在我问完这个问题之后就发现了。对于任何感兴趣的人来说,就是这个代码。或者,如果管理员想删除这个无聊的东西,那也没关系:)

NSLog(@"%s %s %s",__DATE__, __TIME__, __TIMESTAMP__);

在C中,预定义的宏名称__TIME____DATE__扩展为分别包含编译时间和日期的字符串文字。