go語言(golang)簡化了跨平臺交叉編譯步驟,支持在windows系統下交叉編譯基於arm+linux平臺的應用,運行時無需其它依賴庫。如下以一個簡單的http server爲例,先上源碼:html
************************************************************linux
package maingolang
import(windows
"net/http"函數
)測試
funcmain(){網站
http.Handle("/",http.FileServer(http.Dir("html")))server
http.ListenAndServe("0.0.0.0:8080",nil)htm
}教程
************************************************************
main函數裏代碼說明:
//第一行:設置主目錄爲啓動目錄下的html目錄
//第二行:啓動http服務,監聽8080端口
************************************************************
步驟1:在windows系統下(本人用的是win10)安裝go語言的開發環境及可視化編譯器LiteIDE(步驟很簡單,網上教程不少)
步驟2:新建Go1 Command Project,命名爲"Test"
步驟3:import裏修改成"net/http",main()函數修改成以下兩行代碼:
http.Handle("/",http.FileServer(http.Dir("html")))
http.ListenAndServe("0.0.0.0:8080",nil)
步驟4:目標環境修改成cross-arm6,按「ctrl+B」編譯,生成的執行文件爲源碼目錄下的"Test",無後綴
步驟5:複製"Test"到你的arm開發板(樹莓派raspberrypi、香橙派orangepi),並受權:sudo chmod 777 Test,同時在「Test」所在目錄新建一個「html」目錄,運行./Test
接下來就能夠經過http://開發板ip:8080訪問http服務了,記住新建一個「html」目錄後,放進一些html文件/其它文件,可像普通網站同樣瀏覽、下載。
************************************************************
1.本例創建一個靜態網站,在main函數裏添加http.HandleFunc可增長動態處理能力
2.在raspberry pi 2b,orange pi lite測試經過(arm版本前向兼容)