国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

讓你的C程序,自動打印版本信息

開發(fā) 前端
編譯過程中,編譯腳本mk.sh自動將當前時間等信息更新到頭文件sw_version.h這樣我們編譯出的可執(zhí)行程序app就自帶了最新的版本信息。

一、軟件管理

稍微上點規(guī)模的軟件開發(fā)往往周期都非常長,中間會產(chǎn)生很多臨時版本,這些臨時版本往往會有各種各樣的bug,由于項目參與的人員眾多、水平參差不齊,軟件分支眾多、功能復(fù)雜,經(jīng)常會有各種稀奇古怪的事情發(fā)生,經(jīng)常遇到一個問題就是:某個測試版本測出了問題, 但是研發(fā)卻發(fā)現(xiàn)服務(wù)器中沒有對應(yīng)的版本與之對應(yīng)。

有的公司要求所有bug必須有始有終,一旦bug無法復(fù)現(xiàn),這時候測試和開發(fā)免不了一陣扯皮,這影響到績效啊!!!所以版本管理非常重要。現(xiàn)在大多數(shù)公司軟件都是采用git管理,對于嵌入式軟件,廠家提供的sdk,往往都有g(shù)it本地倉庫,嵌入式軟件一般規(guī)模都不大,所以公司對軟件版本管理往往并不會太嚴格,很多嵌入式軟件工程師都沒能養(yǎng)成良好的軟件管理習慣。本文主要講解如何在編譯的時候就給軟件自動添加更新軟件版本的功能,程序運行的開始就將版本打印出來,配合git,更方便的定位軟件版本問題。

二、軟件版本號

公司的軟件版本號往往都比較復(fù)雜,本文為便于讀者理解,將版本號的定義精簡如下:

僅僅打印版本發(fā)布的時間:

圖片圖片


三、原理

我們可以定義一個頭文件sw_version.h專門存放版本信息的宏。

#define SW_VERSION “2024-09-09-7”

主程序包含該頭文件,并在程序運行的開頭位置,打印改宏。

編譯過程中,編譯腳本mk.sh自動將當前時間等信息更新到頭文件sw_version.h這樣我們編譯出的可執(zhí)行程序app就自帶了最新的版本信息。

圖片圖片

更新頭文件sw_version.h中的內(nèi)容,我們可以字節(jié)編寫c程序修改,也可以直接使用命令date,本文通過后者來講解。

四、命令date

date選項

date 能用來顯示或設(shè)定系統(tǒng)的日期和時間:

  • 常見選項
--help:顯示輔助信息
--version:顯示date命令版本信息
-u:顯示目前的格林威治時間
-d:做日期時間相關(guān)的運算
- - date = 'dateStr' :做時間的相關(guān)運算

本文主要用到顯示日期和時間的功能:

  • 1)  顯示系統(tǒng)當前日期時間
[root@hadoop ~]# date
  • 2)  以指定格式顯示日期時間
[root@hadoop ~]# date '+%Y-%m-%d %H:%M:%S'

執(zhí)行結(jié)果:

圖片圖片

date格式標記日期、時間

date 能用來顯示或設(shè)定系統(tǒng)的日期和時間,在顯示方面,使用者能設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標記。

日期方面:

%a : 星期幾 (Sun..Sat)

%A : 星期幾 (Sunday..Saturday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接顯示日期和時間

%d : 日 (01..31)

%D : 直接顯示日期 (mm/dd/yy)

%h : 同 %b

%j : 一年中的第幾天 (001..366)

%m : 月份 (01..12)

%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)

%w : 一周中的第幾天 (0..6)

%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)

%x : 直接顯示日期 (mm/dd/yyyy)

%y : 年份的最后兩位數(shù)字 (00.99)

%Y : 完整年份 (0000..9999)

時間方面:

%%: 打印出%

%n : 下一行

%t : 跳格

%H : 小時(00..23)

%k : 小時(0..23)

%l : 小時(1..12)

%M : 分鐘(00..59)

%p : 顯示本地AM或PM

%P : 顯示本地am或pm

%r : 直接顯示時間(12 小時制,格式為 hh:mm:ss [AP]M)

%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)

%S : 秒(00..61)

%T : 直接顯示時間(24小時制)

%X : 相當于%H:%M:%S %p

%Z : 顯示時區(qū)

若是不以加號作為開頭,則表示要設(shè)定時間,而時間格式為

MMDDhhmm[[CC]YY][.ss]
MM 為月份,

DD 為日,

hh 為小時,

mm 為分鐘,

CC 為年份前兩位數(shù)字,

YY 為年份后兩位數(shù)字,

ss 為秒數(shù)

五、腳本實例

腳本實例:

1 #!/bin/bash
  2 
  3 str_frnotallow=#define SW_VERSION
  4 quotatinotallow="\""
  5 version_file=sw_version.h
  6 
  7 rm $version_file
  8 echo $str_front $quotation$(date '+%Y-%m-%d-%H')$quotation >> $version_file
* 3行:定義環(huán)境變量str_front,用于保存字符串 `#define SW_VERSION ` 
* 4行:定義環(huán)境變量quotation,保存字符`"`
* 5行:定義環(huán)境變量version_file,保存頭文件**sw_version.h**名字
* 7行:刪除頭文件**sw_version.h**
* 8行:更新最新版本信息到頭文件**sw_version.h**
      借助date命令拼接成下面字符串
  #define SW_VERSION “2024-09-09-7”
   將該字符串信息,通過echo命令重定向到頭文件**sw_version.h**
      >> 表示重定向,信息覆蓋

執(zhí)行結(jié)果

圖片

圖片圖片

大家可以根據(jù)自己需要,自己定制自己需要的版本號格式,同時也可以把該腳本嵌入到自己的編譯腳本中。

責任編輯:武曉燕 來源: 一口Linux
相關(guān)推薦

2024-07-29 00:00:00

C程序色彩文本

2024-11-22 06:00:00

自動鎖定WinForm

2011-05-24 15:29:05

程序CC++

2024-06-12 12:28:23

2011-07-20 09:11:58

C++

2024-12-03 00:44:50

2024-11-15 11:00:00

C#多線程

2009-08-26 13:22:24

C#打印程序

2024-11-14 00:08:14

C#技術(shù)

2014-04-11 10:41:10

2015-12-07 11:44:31

程序員厭倦工作

2015-12-09 09:17:11

情緒厭倦程序員

2025-05-22 09:43:55

2010-02-01 16:54:18

C++打印地址信息

2021-12-08 07:31:40

微服務(wù)架構(gòu)程序

2025-08-21 01:45:00

Linux內(nèi)存對齊

2021-06-11 06:54:34

程序郵件Django

2013-07-23 10:50:24

C程序

2016-03-28 09:39:54

2025-04-22 08:39:14

編程容器map
點贊
收藏

51CTO技術(shù)棧公眾號

97热精品视频官网| 欧美最大成人综合网| 在线免费av导航| 亚洲美女在线一区| 亚洲国产成人精品无码区99| 青青草视频一区| 久久精品一二三区| 自拍偷拍欧美专区| 成人h视频在线观看播放| 亚洲丁香日韩| 68精品久久久久久欧美| 97精品久久| 久久久久久亚洲精品中文字幕| 亚洲精品国产嫩草在线观看| 日韩精品中文在线观看| 久草成色在线| 欧美精品一区二区不卡| 91超碰免费在线| 日韩精品在线私人| 天天免费亚洲黑人免费| 精品粉嫩aⅴ一区二区三区四区| 精品51国产黑色丝袜高跟鞋| 欧美电影影音先锋| 99在线播放| 日韩精品电影网| 手机在线观看av| 亚洲网站视频福利| 日韩av懂色| 久久69精品久久久久久久电影好| 日韩黄色av| 国产成人精品综合久久久| 日韩欧美中字| 国产日本一区二区三区| 日本成人在线电影网| 中文字幕第50页| 99久久99久久精品国产片果冻| 免费在线a视频| 国产日产欧美一区| 国产成免费视频| 色屁屁一区二区| 制服丝袜中文字幕在线| 亚洲免费av电影| 久久中文字幕一区二区| 日韩美女激情视频| 女同性一区二区三区人了人一| 久久66热这里只有精品| 精品在线亚洲视频| 日本成人黄色网| 亚洲福利一二三区| 婷婷色在线播放| www.日韩av.com| 视频一区中文| 久久99精品久久久久久青青日本| 日韩av午夜在线观看| 日韩国产一级片| 国产精品国产三级国产aⅴ中文 | 91精品国产综合久久精品| 成人在线免费观看黄色| 久久99亚洲热视| 久久视频精品| 亚洲精品一区二| 欧美国产精品一区二区三区| 国产精品免费播放| 在线观看日韩www视频免费| 精品大片一区二区| 亚洲第一在线综合在线| 欧美国产日韩在线观看| 欧美jizz18hd性欧美| 欧美大尺度激情区在线播放| 国语精品一区| 成人羞羞国产免费网站| 精品视频一区三区九区| 国产日韩一区二区三免费高清| 成人久久一区二区三区| 国产不卡免费视频| 国产一级片在线| 精品少妇v888av| 国产精品五区| 777免费视频| 亚洲嫩模很污视频| 国产精品成人一区二区不卡| 精品人妻大屁股白浆无码| 欧美日韩国产精品一区二区三区四区| 亚洲va中文在线播放免费| 91美女片黄在线观| 久久久蜜桃精品| 日韩123区| 国产中文字幕91| 99久久久久久| h片在线免费观看| 国产精品久久9| 国产99久久久国产精品潘金| 欧美少妇另类| 性欧美激情精品| 国产成人精品综合在线观看| 亚洲成人三级| 欧洲成人午夜免费大片| 丁香啪啪综合成人亚洲小说| 欧美日韩在线资源| 国产精品中文字幕在线| 日本一区二区三区视频视频| 欧美aa在线观看| 精品一区二区视频| 亚洲va欧美va人人爽| 国产成人福利av| 黄色一级片在线看| 精品国产凹凸成av人网站| 先锋资源久久| 秋霞在线观看av| 国内精品久久久久伊人av| 成人午夜电影网站| 在线观看涩涩| 亚洲欧美日本国产有色| 欧美日韩精品一区二区三区蜜桃 | 超碰在线一区二区三区| 九九九热精品免费视频观看网站| 免费在线观看视频一区| 久草福利在线| 国产精品视频白浆免费视频| 国产精品免费久久久久| 99re8精品视频在线观看| 中文字幕免费高| 日韩欧美高清dvd碟片| 在线亚洲观看| 超碰在线影院| 国产欧美日韩一区二区三区| 在线视频欧美精品| 午夜精品999| 毛片免费在线| 成人h视频在线| 亚洲成年人网站在线观看| 欧美国产极品| 91精选福利| 国产精品91久久| 一区二区激情小说| 精品在线99| 亚洲嫩模一区| 亚洲一区亚洲二区| 欧美性猛交xxxx乱大交退制版| 伊人精品在线| 韩国av网站在线| 日本一区二区三区视频免费看| 欧美一区二区三区在线观看| 巨乳诱惑日韩免费av| 中文字幕在线官网| 国产中文字幕二区| 欧美激情在线狂野欧美精品| 国产精品国产三级国产aⅴ原创| 精品高清在线| 国产乱子伦三级在线播放| 免费日韩av电影| 国产视频亚洲精品| 久久这里只有精品6| 亚洲最大在线| 国内av一区二区三区| 日韩欧美亚洲日产国| 亚洲人成在线观看网站高清| 99精品久久免费看蜜臀剧情介绍| 97久久亚洲| 手机福利在线| 亚洲成色最大综合在线| 日韩在线视频国产| 亚洲美腿欧美偷拍| 国产欧美三级| 亚洲国产天堂| 中文字幕高清在线| 欧美一区二区综合| 久久精品小视频| 伊人性伊人情综合网| 国产一区二区三区四区三区四| 日本成人不卡| 国产理论在线播放| 激情伦成人综合小说| 最近2019年日本中文免费字幕| 亚洲欧美自拍偷拍色图| 精品91在线| 亚洲精品tv| 视频在线观看你懂的| 国产91在线亚洲| 国产成人精品在线观看| 在线不卡欧美精品一区二区三区| 成人中文字幕合集| 亚洲乱码精品| av一区在线播放| 人操人视频在线观看| 少妇大叫太大太粗太爽了a片小说| 日本精品免费观看| 日韩精品www| 亚洲va国产va欧美va观看| 狠狠色丁香婷婷综合久久片| 欧美日韩黑人| 成人性生交大片免费观看网站| 九色丨porny丨| 在线观看日韩片| 国产中文字幕日韩| 精品国偷自产在线视频99| 欧美乱妇20p| 一区二区三区久久| 成人蜜臀av电影| 午夜一级在线看亚洲|