1. 有一种方式是通过objcopy
version.o:version
objcopy -I binary -O elf32-i386 -B i386 version version.o
# $(CROSS_COMPILE)objcopy -I binary -O elf32-littlearm -B arm version version.o
2. 最简单的方式
//version.h
#define VERSION_STR v1.23
//main.c
//注意一定要加上一个static
#include "version.h"
/* for passing version information as a define */
#define STRINGIFY(x) XSTRINGIFY(x)
#define XSTRINGIFY(x) #x
static char ident[] = {
"$" "my program version:"
STRINGIFY(VERSION_STR)
" Built: "
__DATE__
" "
__TIME__
" $"
};
int main(){
return 0;
}
gcc main.c
检验是否生效输入命令: string a.out|grep Id: xxx