This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我想问、在 CCS 中构建程序时、是否可以在.out 文件中添加前导码/标头、其中将包含例如软件版本、日期等内容? 我的意思是、如果我有一个.out 文件、我可以在记事本中打开、看看该文件中有哪个版本的代码?
如果可以的话、是否可以选择在每次构建程序时自动执行此操作? 例如、在创建前导码时是否有下载 Git commit 编号的选项?
]如果可以的话、在 CCS 中构建程序时、可以在.out 文件中添加前导码/标头
遗憾的是、不能。
这里有一个不同的解决方案需要考虑。 在程序中的一个文件中,编写类似于...的代码。
__attribute__((retain)) static char *version_string = "MY COMPANY SOFTWARE VERSION: 1.2.3";
假设您可以访问该命令、 灯串 可用于大多数类似 Unix 的环境(Linux、Cygwin、macOS 等)。 然后您可以运行类似于...的命令。
$ strings executable_file.out | grep "MY COMPANY SOFTWARE VERSION" MY COMPANY SOFTWARE VERSION: 1.2.3
谢谢。此致、
-乔治
感谢您的答复。
您的回答让我觉得在预构建选项中添加一个在 git bash 中执行的脚本、该脚本获取提交编号/标签/日期、并创建一个包含存储这些信息的变量的.h 文件。 我仍在努力以某种方式将这些内容存储在闪存中、但我已经有了主意。
下面是脚本的一个示例代码片段、以防任何人将来需要该脚本供参考:
Git log --price=format:"#define GIT_INFO_PRESENT %%n CONST CHAR* GIT_INFO =\"[%%H、%%d]\";%%n "-n 1 >../Version/FWversion.h