GOOS=windows GOARCH=amd64 go build -o myapp.exe main.go
“`
5. 靜態(tài)鏈接及優(yōu)化
Go語言默認(rèn)生成的可執(zhí)行文件是靜態(tài)鏈接的,這意味著所有需要的庫都會被嵌入到最終的EXE文件中。這樣一來,程序可以在沒有安裝相應(yīng)庫的機(jī)器上獨(dú)立運(yùn)行。
然而靜態(tài)鏈接可能使可執(zhí)行文件變得較大。為了減小可執(zhí)行文件的大小,你可以在編譯時使用`-ldflags`選項(xiàng)開啟優(yōu)化功能:
“`sh
go build -ldflags=”-s -w” -o myapp main.go
“`
上述命令會移除符號表(symbol table)和調(diào)試信息(debugging information),從而減小生成的可執(zhí)行文件的大小。
總結(jié)
Go語言不僅具備高性能且跨平臺的特性,而且生成的可執(zhí)行文件(EXE)易于分發(fā)和部署。通過了解Go語言生成EXE文件的原理,你可以更好地利用這一強(qiáng)大的功能,為各種場景編寫高效和穩(wěn)定的應(yīng)用程序。