goahead包括C代碼,與網(wǎng)頁代碼兩部分。可以用source insight寫代碼。 移植到嵌入式arm linux系統(tǒng)的話,在PC上用arm-linux-gcc編譯,然后放到板上arm linux系統(tǒng)中運行。 用瀏覽器訪問arm linux系統(tǒng)的80端口,就可以看到goahead運行的頁面。
10年積累的成都網(wǎng)站建設、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有樊城免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
根據(jù)Go趨勢報告顯示,全球范圍內(nèi)有 110 萬專業(yè)開發(fā)者選擇Go作為其主要開發(fā)語言。如果把以其他編程語言作為主要開發(fā)語言,同時也在使用Go的開發(fā)者計算在內(nèi),這一數(shù)字將高達270萬,中國的Go語言開發(fā)者排名第一,全球占比超過16%。
Go 語言能夠支持并構建與微服務結合的內(nèi)部工具、架構和后端服務而深受IT企業(yè)歡迎,許多IT架構工具由Go構建而成,例如大型的Kubernetes、Docker和Vault等。數(shù)據(jù)顯示,有63%的具有統(tǒng)治力的云原生項目都是用Go構建。
因此,博睿數(shù)據(jù)在國內(nèi)首發(fā)支持Go語言智能探針,對于提升業(yè)務性能,助力企業(yè)數(shù)字化轉型有著非常重要的意義。
SmartAgent探針技術集結主流編程語言
SmartAgent是博睿數(shù)據(jù)自研的自動化部署的一體化探針,在已支持JAVA,PHP,.net,Nodejs,.NET Core,Python的基礎上,新增了對Go語言的支持。
相較而言,傳統(tǒng)探針技術需要客戶配合修改應用程序代碼,風險不可控,需要客戶重新編譯程序集成探針,耦合度高。
不同于行業(yè)內(nèi)傳統(tǒng)探針技術,博睿數(shù)據(jù)GoAgent探針直接后臺安裝即可,主動注入和嵌碼,降低與客戶程序耦合、無需二次修改代碼、提高 GoAgent 技術易用性。無論是動態(tài)編譯還是靜態(tài)編譯的代碼,博睿數(shù)據(jù)Samrt Agent技術都可以在不進行任何修改的情況下進行服務級別和代碼級別的分布式鏈路跟蹤,實現(xiàn)業(yè)務的可觀測性。
GoAgent探針支持六大功能,實現(xiàn)全鏈路追蹤
Golang也就是Go語言,現(xiàn)在已經(jīng)發(fā)行到1.4.1版本了,語言特性優(yōu)越性和背后Google強大靠山什么的就不多說了。Golang的官方提供了多個平臺上的二進制安裝包,遺憾的是并非沒有發(fā)布ARM平臺的二進制安裝包。ARM平臺沒辦法直接從官網(wǎng)下載二進制安裝包來安裝,好在Golang是支持多平臺并且開源的語言,因此可以通過直接在ARM平臺上編譯源代碼來安裝。整個過程主要包括編譯工具配置、獲取Golang源代碼、設置Golang編譯環(huán)境變量、編譯、配置Golang行環(huán)境變量等步驟。
注:本文選用樹莓派做測試,因為樹莓派是基于ARM平臺的。
1、編譯工具配置
據(jù)說下個版本的golang編譯工具要使用golang自己來寫,但目前還是使用C編譯工具的。因此,首先要配置好C編譯工具:
1.1 在Ubuntu或Debian平臺上可以使用sudo apt-get install gcc libc6-dev命令安裝,樹莓派的RaspBian系統(tǒng)是基于Debian修改的,所以可以使用這種方法安裝。
1.2 在RedHat或CentOS 6平臺上可以使用sudo yum install gcc libc-devel命令安裝。
安裝完成后可以輸入 gcc --version命令驗證是否成功安裝。
2、獲取golang源代碼
2.1 直接從官網(wǎng)下載源代碼壓縮包。
golang官網(wǎng)提供golang的源代碼壓縮包,可以直接下載,最新的1.4.1版本源代碼鏈接:
2.2 使用git工具獲取。
golang使用git版本管理工具,也可以使用git獲取golang源代碼。推薦使用這個方法,因為以后可以隨時獲取最新的golang源代碼。
2.2.1 首先確認ARM平臺上已經(jīng)安裝了git工具,可以使用git --version命令確認。一般linux平臺都安裝了git,沒有的話可以自行安裝,不同平臺的安裝方法可以參考:
2.2.2 克隆遠程golang的git倉庫到本地
在終端cd到你想要安裝golang的目錄,確保該目錄下沒有名為go的目錄。然后以下命令獲取代碼倉庫:
git clone
大陸地區(qū)可能會獲取失敗,在不翻墻的情況下我試了幾次都沒成功,原因大家都懂的。好在google已經(jīng)將golang也托管到github上面,所以也可以通過下面命令獲取:
git clone
視網(wǎng)絡情況,下載可能需要不少時間。我2M的帶寬花了將近兩個小時才下載完,雖然整個項目不過幾十兆= =
下載完成后,可以看到目錄下多了一個go目錄,里面即為golang的源代碼,在終端上執(zhí)行cd go命令進入該目錄。
執(zhí)行下面命令檢出go1.4.1版本的源代碼,因為現(xiàn)在已經(jīng)有新的代碼提交上去了,最新的代碼可能不是最穩(wěn)定的:
git checkout go1.4.1
至此,最新1.4.1發(fā)行版的源代碼獲取完畢
3、設置golang的編譯環(huán)境變量
主要有GOROOT、GOOS、GOARCH、GOARM四個環(huán)境變量需要設置,先解釋四個環(huán)境變量的意義。
3.1 GOROOT
主要代表golang樹結構目錄的路徑,也就是上面git檢出的go目錄。一般可以不用設置這個環(huán)境變量,因為編譯的時候默認會以go目錄下src子目錄中的all.bash腳本運行時的父目錄作為GOROOT的值。為了保險起見,可以直接設置為go目錄的路徑。
3.2 GOOS和GOARCH
分別代表編譯的目標系統(tǒng)和平臺,可選值如下:
GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是這兩個值代表的是目標系統(tǒng)和平臺,而不是編譯源代碼的系統(tǒng)和平臺。樹莓派的RaspBian是linux系統(tǒng),所以這些GOOS設置為linux,GOARCH設置為arm。
3.3 GOARM
表示使用的浮點運算協(xié)處理器版本號,只對arm平臺有用,可選值有5,6,7。如果是在目標平臺上編譯源代碼,這個值可以不設置,它會自動判斷需要使用哪一個版本。
總結下來,在樹莓派上設置golang的編譯環(huán)境變量,可編輯$HOME/.bashrc文件,在末尾添加下面內(nèi)容:
export GOROOT=你的go目錄路徑
export GOOS=linux
export GOARCH=arm
編輯完后保存,執(zhí)行source ~/.bashrc命令讓修改生效。
4、編譯源代碼
環(huán)境變量配置完成自后就可以開始編譯源代碼。在go目錄下的src子目錄中,主要有all.bash和make.bash兩個腳本(另外還有兩個all.bat和make.bat腳本適用于window平臺)。編譯實際上就是執(zhí)行其中一個腳本,兩者的區(qū)別在于all.bash在編譯完成后還會執(zhí)行一些測試套件。如果希望只編譯不測試,可以運行make.bash腳本。使用cd命令進入go下src目錄,執(zhí)行./all.bash或者./make.bash命令即可開始編譯。由于硬件情況不同,編譯耗費的時間不同。在我的B型樹莓派編譯過程花費了將近半個小時,編譯完成后執(zhí)行的測試套件又花費了差不多一個小時,總共花費了一個半小時左右。
5、配置golang運行環(huán)境變量
編譯完成后,go目錄下會生成bin目錄,里面就是go的運行腳本。為了以后使用方法,可以將這個bin路徑添加到PATH環(huán)境變量中。同樣編輯~/.bashrc文件,因為前面設置過GOROOT環(huán)境變量指向go目錄了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存后同樣執(zhí)行source ~/.bashrc命令讓環(huán)境變量生效。
至此,golang源代碼編譯安裝成功。執(zhí)行go version應該就能看到當前golang的版本信息,表示編譯安裝成功。
新聞標題:go語言移植arm go語言編譯工具
網(wǎng)站鏈接:http://www.chinadenli.net/article24/dddssce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、網(wǎng)站維護、Google、營銷型網(wǎng)站建設、網(wǎng)站制作、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)