想把某個用go寫的工具放到家裡路由(R6300v2)上跑,需要自己build一份host x64, target arm的go交叉編譯器,花幾分鐘看了一下官方文檔,結果就這麼簡單: (建議學習:go)
1re)吧時依我對所有交叉編譯的經驗時編譯得2cc要個幾分鐘到十幾分鐘不等。結果在我的E3 1230v3 256G Plextor M6S上,編譯go(包括庫)只花了不到20秒,也許不到10秒。比git clone還快。
Go編譯器支援九個指令集。不同體系結構的編譯器品質有重要差異。
$ git clone .../go && cd go && git checkout go1.4.2 $ cd src $ GOOS=linux GOARCH=arm GOARM=5 ./make.bash
除了底層作業系統介面程式碼之類的內容外,所有連接埠的執行時間支援都是相同的,包括標記清除垃圾收集器,有效的陣列和字串切片以及對有效的goroutine(例如堆疊)的支援。按需增長和收縮。
編譯器可以針對DragonFly BSD,FreeBSD,Linux,NetBSD,OpenBSD,macOS(Darwin),Plan 9,Solaris和Windows作業系統。
以下附加約束適用於只能從來源建置的系統:
對於64位元PowerPC上的Linux,支援的最低核心版本是2.6.37,這意味著Go在這些系統上不支援CentOS 6。
以上是golang編譯為什麼快的詳細內容。更多資訊請關注PHP中文網其他相關文章!