我在代码中使用;
const char compileDate[] = {__DATE__}; const char compileTime[] = {__TIME__};
字符串但是我只能在运行程序时看到这些值。编译后可以看到日期和时间值吗?我想这样做:
gcc main.c date&time: "29 Feb 2018 16:32:55" a.out created
型当然,代码和终端输出中的日期和时间必须相同。
uidvcgyl1#
你不能让编译器来做这件事,但是你可以用一个外部脚本来做,定义你自己的宏来代替__TIME__和__DATE__例如,在UNIX shell中:
__TIME__
__DATE__
date '+%b %e %Y %I:%M:%S' >xxx cat xxx xxx | sed -n -e '1s/^\(...........\).*/#define MY_DATE "\1"/p' -e '2s/.*\(........\)$/#define MY_TIME "\1"/p' > xxx.h cat xxx
字符串将打印日期Oct 27 2023 09:37:48,并创建一个头文件xxx. h,其中包含
Oct 27 2023 09:37:48
#define MY_DATE "Oct 27 2023" #define MY_TIME "09:37:48"
型它可以被你的代码使用。
1条答案
按热度按时间uidvcgyl1#
你不能让编译器来做这件事,但是你可以用一个外部脚本来做,定义你自己的宏来代替
__TIME__
和__DATE__
例如,在UNIX shell中:
字符串
将打印日期
Oct 27 2023 09:37:48
,并创建一个头文件xxx. h,其中包含型
它可以被你的代码使用。