Go編譯時加入版本資訊

2021-09-29 17:07:24 字數 1072 閱讀 3158

go 編譯時可通過ldflags動態的為程式裡某個變數賦值,我們可以利用這個特性來達到將go的資訊和git 的commit 資訊編譯到我們的二進位制檔案中。

package main

import

("fmt"

"os"

)var

( githash string

buildtime string

goversion string

)func

main()

}

這裡我們定義了三個變數githashbuildtimegoversion,我們可以通過下面這個編譯命令將三個變數給賦值進去

-o輸出的二進位制檔名

-v編譯時顯示包名

-pn 開啟併發編譯,預設情況下該值為 cpu 邏輯核數

-a強制重新構建

-n列印編譯時會用到的所有命令,但不真正執行

-x列印編譯時會用到的所有命令

-race開啟競態檢測

檢視git commit 的其他格式化引數

Go 編譯時加入版本資訊

go 編譯時可通過ldflags動態的為程式裡某個變數賦值,我們可以利用這個特性來達到將 go 的資訊和 git 的 commit 資訊編譯到我們的二進位制檔案中。package main import fmt os var githash string buildtime string gover...

CMake編譯加入GDB除錯資訊

1 set cmake build type debug 2 set cmake cxx flags debug env o0 wall g2 ggdb 3 set cmake cxx flags release env o3 wall 在cmakelists.txt中加入這三行 cmake 中有乙...

為Go編譯的Windows程式加入資源檔案

首先編寫乙個rc檔案,如main.rc,內容如下 idi icon1 icon icon.ico 1 24 main.exe.manifest icon指的是程式的圖示,下邊的manifest是讓程式使用windows主題,string table version等按照普通rc檔案寫入即可。wind...