Go1.5開發(fā)環(huán)境依賴Go1.4版本作為引導(dǎo),因為Go1.5使用Go本身來編譯安裝Go,所以必須保證服務(wù)器上已經(jīng)安裝Go1.4,這完全是為了解決先有雞還是先有蛋的問題,當(dāng)然如果你想避免編譯安裝1.4也可以直接使用二進(jìn)制包。
為東遼等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及東遼網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站設(shè)計、東遼網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
在這里假設(shè)你希望將go1.5安裝到$HOME/go1.5目錄下,只需要以下幾步:
下載Go1.5的源碼放到$HOME/go1.5目錄下
在安裝Go1.5之前需要將Go1.4放到$HOME/go1.4下面或者export GOROOT_BOOTSTRAP=/go1.4安裝目錄/
到$HOME/go1.5/src/下執(zhí)行all.bash即可
我習(xí)慣將軟件安裝至/usr/local/下,以下為我安裝Go1.5(/usr/local/go1.5)的步驟:
wget
tar zxvf go1.5.1.src.tar.gz
mv ./go /usr/local/go1.5
wget
tar zxvf go1.4.3.src.tar.gz
mv ./go /usr/local/go-bootstrap1.4/
cd /usr/local/go-bootstrap1.4/src
./all.bash //編譯安裝Go1.4,有可能test不通過,只要編譯通過,test可忽略,目的是需要go1.4的二進(jìn)制包來編譯1.5
cd /usr/local/go1.5/src
GOROOT_BOOTSTRAP=/usr/local/go-bootstrap1.4 ./all.bash
//可在環(huán)境變量中添加GOROOT_BOOTSTRAP,然后再編譯Go1.5
以下為網(wǎng)摘:
From C to Go
The gc tool chain is being converted from C to Go.
An ongoing process, started early 2014.
Russ Cox says "It'll be done by March [2015]."
New link tool to replace 6l, 8l, etc.
New asm tool to replace 6a, 8a, etc.
Machine-translated gc to replace 6g, 8g, etc.
Design doc:
golang.org/s/go13compiler
Go 1.5 will have no C code in the tool chain or runtime.
Go語言將使用Go代替C重寫運(yùn)行時環(huán)境
Go 1.4 的合并窗口在 9 月份將關(guān)閉,從現(xiàn)在開始到12月份發(fā)布 Go 1.4 之前將只接受 bug 修復(fù)和小調(diào)整。
Go 1.4 最主要的變化是將使用 Go 語言本身來重寫 Go 的運(yùn)行時,而之前是采用 C 語言開發(fā)。這也是為什么 Go 的發(fā)行版中包含一個 C
編譯器的原因。
使用 Go 重寫的好處是:
當(dāng)前如果在 Goroutine 的調(diào)用堆棧中發(fā)現(xiàn) C 代碼,runtime 將在需要增長堆棧時回滾到老的堆棧方法。如果使用 Go 來重寫
runtime,那么堆棧拷貝的方法就會更加高效
目前轉(zhuǎn)換工作只計劃轉(zhuǎn) Go 編譯器 (5g, 6g, 8g), 而不是 C 編譯器,降低運(yùn)行時中的 C 代碼行數(shù),甚至可能完全清除
注意
這是 golang.org 分發(fā)版,也就是 gc ,而不是 gccgo
這是不同的 C 編譯器,gc 工具鏈將使用你系統(tǒng)的 C 編譯器來編譯,gc 運(yùn)行時則使用它的 C 編譯器來編譯
8月20日后增加的轉(zhuǎn)換行可能跟 this request 有關(guān).
Go語言將使用Go代替C重寫運(yùn)行時環(huán)境
— 從現(xiàn)在開始到12月份 Go 1.4版本發(fā)布前,Go將只接受Bug修復(fù)和小范圍的調(diào)整,Go
1.4版本將實現(xiàn)使用Go語言來重寫Go的運(yùn)行時環(huán)境。
因為業(yè)務(wù)上的需求,架構(gòu)師改了hack了一下golang的源碼,放出一個patch文件,給源碼打了patch之后,需要重新編譯go源碼,
我是用 brew 安裝的golang, 先用 go env 看看
鎖定了源碼的路徑: /usr/local/Cellar/go/1.7.5/libexec
Go從1.5版本開始實現(xiàn)“自舉”(Bootstrap),也就是用Go來實現(xiàn)Go、用Go來編譯Go,因此這里的意思是系統(tǒng)默認(rèn)用go1.4來編譯golang,
但是我的系統(tǒng)里面并沒有g(shù)o1.4,這里偷個懶
等待編譯測試完成即可。
Go的三種安裝方式 Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式: Go源碼安裝:這是一種標(biāo)準(zhǔn)的軟件安裝方式。對于經(jīng)常使用Unix類系統(tǒng)的用戶,尤其對于開發(fā)者來說,從源碼安裝可以自己定制。 Go標(biāo)準(zhǔn)包安裝
文章題目:go語言源碼安裝 go 源碼
URL鏈接:http://chinadenli.net/article38/doddgpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站設(shè)計公司、商城網(wǎng)站、微信公眾號、定制開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)