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