如何壓縮Golang 編譯出的可執行檔大小

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

先給結論:可以減少到原來的29%

最近在寫一個TLScat小工具Github.com/mengzhuo/tlscat源檔案僅僅2KB不到,但是用 go build tlscat.go 編譯出來的有4.6MB!

後來發現這個Golang的1.5才會解決的問題 Issue #6853 all: binaries too big andgrowing 可是,我就不信這個邪,於是搜尋到了gobuild的一些用法 go build -ldflags "-s -w" ‘-s’ 相當於strip掉符號表,但是以後就沒辦法在gdb裡查看行號和檔案了。 ‘-w’ flag to the linker to omit the debug information告知連接器放棄所有debug資訊 這樣一來就只有3MB了

然後發現在Mac平台下,還有upx這樣神一般的存在。

UPX achieves an excellent compression ratio and offers very fastdecompression.

簡而言之,upx就是對可執行檔進行壓縮,然後可以已極快的速度解壓並運行

可以用brew快速安裝upx brew install upx upx 可執行檔

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.