go语言
(golang
)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm
+linux平台的应用,运行时无需其它依赖库。以下以一个简单的http server为例,先上源码:
************************************************************
package main
import(
"net/http"
)
funcmain(){
http
.Handle
("/",http
.FileServer
(http
.Dir
("html")))
http
.ListenAndServe
("0.0.0.0:8080",nil)
}
************************************************************
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版本前向兼容)