c++ - 获取C/C++/Obj-C程序编译时间

标签 c++ objective-c ios c compilation

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

作为其中的一部分,我想包括该应用程序的特定版本的编译日期。例如,如果我在 2012 年 9 月 24 日星期一早上 8 点 53 分编译它,它会在水印上显示。在一天的过程中,我经常向许多人发送许多构建,修复许多小问题,尤其是在开发的后期阶段,当我调整 UI 和完善时。能够将构建日期与版本控制消息等进行比较会很有帮助,因为不同的测试人员通常会报告已修复的问题。对于移动标签或更正拼写错误等简单的事情,增加版本号没有多大意义,直到完成美好的一天。

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

有谁知道这是否可能。

提前致谢。

编辑:我找到了。我不敢相信我的其他谷歌都没有发现这一点。典型的是在我问完问题后立即找到它。对于任何感兴趣的人,就是这段代码。或者,如果管理员想要将其删除为无聊的,那也没关系:)

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

最佳答案

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

关于c++ - 获取C/C++/Obj-C程序编译时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12557451/

相关文章:

iphone - 未设置反向关系(在 KVO 处理程序中)

ios - NSInternalInconsistencyException : 'Invalid parameter not satisfying: !stayUp || CLClientIsBackgroundable(internal->fClient)'

c++ - 函数的前向声明搞砸了,说 args 是未声明的标识符

c++ - 在基于 C++ 范围的 for 循环中获取当前元素的索引

c++ - 从输入文件中读取十六进制列

iphone - 具有动态对象数的自定义 TableView 单元格创建

c++ - 如何在 Visual Studio 2017 中为 Linux 应用程序启用多线程

ios - 将 JSOn 绘制到 UITableviewCell 时出错

android - 按键对数组进行排序适用于 iOS,但不适用于 Android

iphone - 我们可以通过蓝牙将多少台设备与 iPhone 配对?