使用shell腳本獲取gcc版本號的方法

不少人在shell腳本中獲取gcc版本號的方法是通過對gcc --version命令的輸出結果進行字符串截取處理獲取的,實際上還有更好的方式精確獲取gcc的主、副版本號與補丁版本號,即通過gcc提供的版本宏來獲取。

該方法參考至uboot源碼中的gcc-version.sh腳本,代碼如下:

### configure C compiler
export compiler=$(which gcc)

### get version code
MAJOR=$(echo __GNUC__ | $compiler -E -xc - | tail -n 1)
MINOR=$(echo __GNUC_MINOR__ | $compiler -E -xc - | tail -n 1)
PATCHLEVEL=$(echo __GNUC_PATCHLEVEL__ | $compiler -E -xc - | tail -n 1)

若僅需要版本號字符串,不需要其中某一字段的具體值,亦可通過gcc編譯器提供的-dumpversion參數(注意!只有一個‘-’!)獲取版本號字符串。當然,使用該參數獲取版本號時若配合awk命令使用,同樣也可以輕鬆獲取版本號中各個字段的值。

$ gcc -dumpversion
4.9.3

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章