您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)在Raspberry Pi上golang怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一。俗話說巧婦難為無米之炊,要編譯源碼先得下源碼,下載后這里解壓到 /home/pi/go 目錄下。
二。確認(rèn)需要的工具系統(tǒng)已經(jīng)具備了:mercurial 、gcc 和 libc6-dev 。如果不確定有沒有只需輸入下列命令:
sudo apt-get install -y mercurial gcc libc6-dev
以上命令實現(xiàn)安裝3個必需的工具。
三。配置環(huán)境變量。因為第一點的時候我把下載下來的源碼解壓到/home/pi/go 目錄下了,所以將GOROOT變量值設(shè)置為該路徑:
export GOROOT=/home/pi/go
export GOARCH=arm
但其實不設(shè)置的話也是可以的,它默認(rèn)是等一下命令行執(zhí)行位置的父目錄。
四。也是配置環(huán)境變量。GOARM 變量可以不設(shè)置,默認(rèn)值為:“6″。但是實際中證明,如果不設(shè)置為值為“5″的話,編譯會出現(xiàn)如下的錯誤:SIGILL: illegal instruction 。那么設(shè)置為5和6有什么區(qū)別呢?將 GOARM 設(shè)置為5會引起連接器發(fā)出指令來調(diào)用軟件浮點數(shù)實現(xiàn),而非使用硬件浮點數(shù)支持。
export GOARM=”5″
五。分配更多的內(nèi)存給cpu使用。這不是必須的,更大的內(nèi)存有助于縮減編譯時間。使用:sudo raspi-config 中的memory_split功能來實現(xiàn)。
打開命令行,進(jìn)入go目錄下的src目錄:
cd /home/pi/go/src
運行all.bash腳本
./all.bash
或者你想看看整個編譯耗時多少的話可以這樣:
time ./all.bash
好了。經(jīng)過漫長的時間后:
pi@raspberrypi ~/go/src $ time ./all.bash
real 47m34.894s
user 44m23.260s
sys 2m6.690s
整個過程消耗了47分鐘。編譯完成了。而在我的電腦上這個過程只需要3分鐘。
以上過程只是在Rapsberry上編譯golang的編譯器,如果我們只想在Raspberry上運行g(shù)o語言編寫的程序,那大可不用這樣子,我們可以使用交叉編譯在自己的電腦上完成代碼的編譯后copy到Raspberry上運行便可了。
最近發(fā)現(xiàn)go語言的官網(wǎng)已經(jīng)無法訪問了,這給學(xué)習(xí)帶來很多不便。這里提供一個比較簡單的方法。
一。輸入命令:nslookup www.google.com 8.8.8.8
得到google的ip地址列表若干,然后隨機(jī)復(fù)制一個ip,在瀏覽器上輸入,看看能否打開google的搜索頁面。如果能,則繼續(xù)第二步。
二。打開系統(tǒng)hosts文件,ubuntu12下默認(rèn)為/etc/hosts 。加入一行:
<第一步得到的ip地址> golang.org
例如:74.125.128.102 golang.org
好了,看看可以打開官網(wǎng)了嗎!
其實就是交叉編譯。將golang源碼解壓到/home/lixin/soft/goarm5目錄下。
命令行進(jìn)入到/home/lixin/soft/goarm5/src 。
運行如下命令:
export GOROOT=/home/lixin/soft/goarm5
export GOARCH=arm
export GOARM=5
./all.bash
大概幾分鐘后,就建好了適合Raspberry上運行的編譯器了。
接著來些個hello world測試程序。
vim /home/lixin/main.go
main.go文件內(nèi)容如下:
package main
import “fmt”
func main(){
fmt.Println(“hello lixin”)
}
交叉編譯:
/home/lixin/soft/goarm5/bin/go build ./main.go
將生成的main文件拷貝到Raspberry上運行。非常好,正確的在屏幕中打印出“hello lixin”
關(guān)于“在Raspberry Pi上golang怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。