gpt4 book ai didi

手动创建 __TIME__ 和 __DATE__

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:53 25 4
gpt4 key购买 nike

我最近将我的编译器更改为 xc16 gcc 编译器。这个新编译器没有定义预处理器宏 __TIME__

我所做的所有研究都让我解释了如何使用 __TIME__ 并且它是标准所要求的,但没有说明它是如何工作的。

目前,我使用 __TIME____DATE__ 来创建编译时间戳。这会定期检查,如果它比服务器上软件上的标记旧,则服务器会将新软件下载到设备。没有 __TIME__ 我无法实现我们的自动更新系统。

我想我会需要一些类似#define TIME FunctionToGetCurrentTime 的东西,但是我在使用time_t now = time(0); 时运气不好——显然我是错了,因为这是我第一次尝试编写预处理器宏。我只使用 #define 作为值。

最佳答案

假设您使用 bash(或其他 POSIX 兼容的 shell):

将以下内容添加到您的 gcc 调用中

-D __DATE__=$(date "+%Y-%m-%d") -D __TIME__=$(date "+%H:%M:%S")

或 date 命令的一些标志组合。

标志取自 pmg 的评论。如果您不使用实现 $() 的 POSIX 兼容外壳(我能想到的所有现代外壳),您可以使用反引号代替 ``。

关于手动创建 __TIME__ 和 __DATE__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37389857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com