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

时间:2012-09-24 00:28:05

标签: c++ objective-c ios c compilation

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

作为其中的一部分,我想包括编译该特定应用程序版本的日期。例如,如果我在2012年9月24日星期一上午8点35分编译它,它就会在水印上说明。在一天的过程中,我经常向许多人发送许多构建,修复许多小问题,特别是在我调整UI和抛光时的后期开发阶段。能够将构建日期与版本控制消息等进行比较会非常有帮助,因为不同的测试人员通常会报告已修复的问题。对于诸如移动标签或纠正拼写错字之类的简单事情,没有多少点增加版本号,直到完成好日子工作。

现在你有了我的动力,我想知道是否有办法在编译时设置编译发生的时间。我希望它是某种C宏我可以设置为将值赋给变量。

有谁知道这是否可能。

提前致谢。

编辑:我找到了。我无法相信我的其他谷歌都没有提出这个问题。我问这个问题之后就找到了它。对于任何感兴趣的人,都是这个代码。或者,如果管理员希望将其删除为无聊,那也没关系:)

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

1 个答案:

答案 0 :(得分:4)

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