-2
是否有可能編譯與依賴關係的golang代碼?對於可執行文件很小。是否可以使用依賴關係編譯golang代碼?
是否有可能編譯與依賴關係的golang代碼?對於可執行文件很小。是否可以使用依賴關係編譯golang代碼?
正如在「Linking golang statically」(Vincent Batts)提到:
只要被編譯的來源是原生走了,走編譯器將靜態鏈接的可執行文件。
雖然當您需要使用cgo時,編譯器必須使用其外部鏈接器。
一個純粹的圍棋程序會顯示這樣的:
$> go build ./code-pure.go
$> ldd ./code-pure
not a dynamic executable
$> file ./code-pure
./code-pure: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
其實並非如此與CGO,除非你添加一個額外的標誌,如:
go build --ldflags '-extldflags "-static"' ./code-cgo.go
# or, with gccgo
go build -compiler gccgo --gccgoflags "-static" ./code-cgo.go
提醒,即使進入1.5(用於編譯,而不是gc
),gccgo will still be there。
我不明白你的問題。你能詳細說明一下嗎? – fuz