搜索
bottom↓
回复: 8

求本坛的一个帖子:自动把编译时间固化。谢谢!

[复制链接]

出0入0汤圆

发表于 2020-12-31 15:47:42 来自手机 | 显示全部楼层 |阅读模式
怎么也找不到这个帖子了,有个好象是__date__的内部指令,直接赋值给变量就好了哦,但是今天试了一下报错了。

出16170入6148汤圆

发表于 2020-12-31 15:50:12 来自手机 | 显示全部楼层
记得关键词吗?我可以帮你全文搜索。

出0入0汤圆

发表于 2020-12-31 15:55:11 | 显示全部楼层
关键字 __DATE__和__TIME__

uint8_t DATE[] = __DATE__;
uint8_t TIME[] = __TIME__;

#define Build_Year                (((DATE[7] - '0') * 1000)+((DATE[8]-'0') * 100)+((DATE[9]-'0') * 10)+(DATE[10]-'0'))

#define Build_Month                (DATE[2] == 'n' ? (DATE[1] == 'a' ? 1 : 6) \
                                                :DATE[2] == 'b' ? 2 \
                                                :DATE[2] == 'r' ? (DATE[0] == 'M' ? 3 : 4) \
                                                :DATE[2] == 'y' ? 5 \
                                                :DATE[2] == 'l' ? 7 \
                                                :DATE[2] == 'g' ? 8 \
                                                :DATE[2] == 'p' ? 9 \
                                                :DATE[2] == 't' ? 10 \
                                                :DATE[2] == 'v' ? 11:12)
#define Build_Day                (DATE[4] != ' '?(((DATE[4]-'0')*10)+(DATE[5]-'0')):(DATE[5]-'0'))

#define Build_Time                (((TIME[0]-'0') * 100000)+((TIME[1]-'0')* 10000)+((TIME[3]-'0') * 1000)+\
                         ((TIME[4]-'0') * 100)+((TIME[6]-'0') * 10)+(TIME[7]-'0'))       

出0入0汤圆

发表于 2020-12-31 16:27:01 | 显示全部楼层
https://www.amobbs.com/thread-5692461-1-1.html

出0入0汤圆

发表于 2020-12-31 17:27:42 | 显示全部楼层
        printf("  * %s,%s          *\r\n", __DATE__, __TIME__);

是这个吗

出0入8汤圆

发表于 2020-12-31 18:33:10 | 显示全部楼层
其实这个还是比较麻烦的, 要写一个脚本, 在build之前修改一下对应的文件, 才能完成, 否则每次都是增量编译, 时间不会刷新的

出0入0汤圆

 楼主| 发表于 2020-12-31 20:30:13 来自手机 | 显示全部楼层
armok. 发表于 2020-12-31 15:50
记得关键词吗?我可以帮你全文搜索。

感谢关注!关键词也记不清了,就只记得有个类似 __date__ 这样写法的指令

出0入0汤圆

 楼主| 发表于 2020-12-31 20:32:39 来自手机 | 显示全部楼层
谢谢各位,可能就是三楼和五楼的写法,我再多尝试尝试吧

出0入4汤圆

发表于 2024-4-19 23:52:45 | 显示全部楼层
snic_k 发表于 2020-12-31 15:55
关键字 __DATE__和__TIME__

uint8_t DATE[] = __DATE__;
(引用自3楼)

很好用,先谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 02:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表