最近同事远程调试设备,为了定位问题临时发布了好几个版本,有些版本号改了有些没改,结果调试完,准备备份版本的时候,忘了哪个版本是最新的了
这里介绍几个比较使用的宏,把编译时间加入到执行文件中,然后再通过日志或者printf打印出来,这样运行版本的时候就能知道编译的时间了,可以作为版本号的辅助手段
__DATE__:打印编译日期
__TIME__:打印编译时间
另外几个在调试代码时非常实用
__FILE__:打印当前源码文件名
__FUNCTION__:打印当前函数名
__LINE__:打印当前源码所在的行
#include <stdio.h>
#include <stdlib.h>
#define DEF_VERSION "V1.0"
int main(int argc, char *argv[])
{
printf("version:%s-%s-%s\n", DEF_VERSION, __DATE__, __TIME__);
printf("file:%s funtion:%s line:%d\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}
执行结果
version:V1.0-Mar 13 2024-19:12:28
file:test.c funtion:main line:10
本文介绍了如何通过在C语言代码中使用预处理器宏(__DATE__,__TIME__)来记录编译时间和创建版本号,以便于远程调试过程中识别和管理不同版本,简化版本管理过程。
3133

被折叠的 条评论
为什么被折叠?



