go 編譯時可通過ldflags
動態的為程式裡某個變數賦值,我們可以利用這個特性來達到將go的資訊和git 的commit 資訊編譯到我們的二進位制檔案中。
package main
import
("fmt"
"os"
)var
( githash string
buildtime string
goversion string
)func
main()
}
這裡我們定義了三個變數githash
buildtime
goversion
,我們可以通過下面這個編譯命令將三個變數給賦值進去
-o
輸出的二進位制檔名
-v
編譯時顯示包名
-p
n 開啟併發編譯,預設情況下該值為 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...