麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

linux 程序、動態庫、靜態庫內部添加版本號和編譯時間詳解

2024-09-05 23:03:23
字體:
來源:轉載
供稿:網友

給程序和庫添加版本號和庫,有利于維護和升級。

當然你可以在文件名上體現,比如有個程序叫 yun,文件名寫為 yun_1.0.2,但這個需要每次手動維護,而且不能100%確保當前程序就是那個版本。所以,把版本號體現在程序內部,是一個不錯的選擇。

----------------------------- 我是做法分割線 -------------------------------

一、可執行程序

程序內部定義版本宏,然后 main 函數通過 -v 參數,打印版本號和編譯時間,代碼如下:

注:__DATE__(編譯日期), __TIME__(編譯時間)

#include <stdio.h>#include <string.h>#define VERSION	"0.0.2" // 此處每次發布版本要手動更新#define NAME	"yun"static void show_info(char *argv[]){	if (0 == strcmp("-v", argv[1]))	{		printf("%s version: %s (%s, %s)/n", NAME, VERSION, __DATE__, __TIME__);		return;	}	else if (0 == strcmp("-h", argv[1]))	{		printf("Usage: %s [options]/n", NAME);		printf("Options:/n");		printf(" void/tRun %s/n", NAME);		printf(" -v/tDisplay %s version information/n", NAME);		printf(" -h/tDisplay help information/n");		return;	}		printf("Usage: %s [-v | -h]/n", NAME);	return;}int main(int argc, char *argv[]){	if (2 == argc)	{		show_info(argv);		return 0;	}	printf("Can you feel me?/n");	return 0;}

運行效果:

動態庫,靜態庫

二、動態庫、靜態庫

庫不采用 -v 這種方法,因為不是可執行程序。

我們可以給程序添加一個版本號字符串,編譯成庫后使用 strings 命令查看,代碼如下:

/* add.h */

#ifndef _ADD_H_#define _ADD_H_int add(int a, int b);#endif /* _ADD_H_ */

/* add.c */

#include "add.h"// 此處每次發布版本要手動更新const char *LIB_INFO = "libadd version: 0.0.3 (2015-01-30, 08:30)";int add(int a, int b){return (a + b);}

編譯及運行結果:

/* 靜態庫 */

動態庫,靜態庫

/* 動態庫 */

動態庫,靜態庫

說明:

strings 命令: 用于顯示文件中的可打印字符。

grep: 用于過濾無用信息,因為自定義的庫信息包含 "version",所以就只顯示包含 "version" 的行,否則其他信息太多不好找。

此方法也可適用于可執行程序添加版本信息。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成年性羞羞视频免费观看无限 | 国产亚洲精品久久久久久大师 | 免费中文视频 | 98国内自拍在线视频 | 精品三区视频 | 久久久av亚洲男天堂 | 久久久www成人免费精品 | 国产成人高潮免费观看精品 | 中文字幕极速在线观看 | 欧美wwwsss9999 | 国产va在线观看 | 91精品国产刺激国语对白 | 一区二区三区无码高清视频 | 亚洲最大av网站 | 91 在线免费观看 | 亚洲国产色婷婷 | 久久久久夜色精品国产老牛91 | 视频在线91 | 成人午夜视频在线观看免费 | 亚洲性生活视频 | 在线影院av| 久久精品观看 | 国产亚洲精品久久午夜玫瑰园 | 成年毛片 | 日本黄色一级视频 | 欧美亚洲另类在线 | 国产一区精品在线观看 | 日本高清无遮挡 | 中国hd高清xxxxvideo | 成人辣文 | 免费网址黄 | 亚洲第一页夜 | 91精品国产乱码久久桃 | 欧美日韩国产一区二区三区在线观看 | 亚洲va久久久噜噜噜久牛牛影视 | 欧美成视频在线观看 | 黄色成人小视频 | 亚洲欧美在线视频免费 | 毛片免费看的 | wwwxxx视频| japanesexxxx24videofree|