在编译程序固件的时候,我们常常会有一个软件版本号,用来区分不同的版本,有时候又没变化软件版本号,重新发两个debug版本给测试验证,那我们就需要在程序中埋入一些环境信息,下面有两种方法来加入一下简单的信息:
一、利用C语言中的预定义宏__DATE__和__TIME__
在程序起来的必经之路上埋一个打印:
软件运行的时候就会先打印编译日期,再打印时间点,这种比较简单易用;
/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!
/*****************************************************************************************************/
二、利用shell命令组合生成编译信息
比如获取日期时间信息,用【date】命令即可;
获取编译者信息,就用【whoami】命令就行;
有些公司还会把编译时的代码提交点给打印出来,比如git的最新一个commit ID,
SVN的提交号,当然利用shell命令可以完成很多丰富信息的组合和叠加,拼接完信息后,只需要通过echo到一个指定的文件就可以,在程序启动的地方来引用这个动态生成的编译信息。
@echo "#define APP_COMPILE_INFO \"compiled by `whoami` @ `date`\"" > include/compile_info.h
@cat include/compile_info.h
通过定义一个头文件的宏来表示着编译相关的信息集合;
这样在程序最开始运行的时候就会打印出来。方法都不难,有一些这样的编译信息,会给我们一个清晰的信息指引,对定位问题和不弄错软件版本都有好处。