如何在可执行文件中加上版本信息

25 篇文章 1 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值