现在很多带网口的嵌入设备提供有web方式的配置工具。由于最近在了解GO语言,有资料说GO语言的跨平台特性非常的好,性能也十分的优秀。于是就想试着在开发板上看看不能否运行GO的程序。
本测试使用的是golang 1.13.5版本,资料上说只有1.5版以上的GO才支持交叉编译。这一点需要注意
package mainimport ("fmt""net/http")func handler(w http.ResponseWriter, r *http.Request){fmt.Fprintf(w, "Hi, This is an example of http service in golang!")}func main() {http.HandleFunc("/", handler)http.ListenAndServe(":8080", nil)}
我的GO环境是已经测试好的就直接写代码了。
编译过程
设置环境:
set GOOS=linux
set GOARCH=arm
set GOARM=7
环境参数GOOS=linux 是指定平台;GOARCH=arm 指定cpu架构;GOARM=7 指定ARM的指令集;
编译程序
go build helloweb.go
上传文件
scp helloweb root@192.168.0.103:/usr/local
注意换成你机器的IP地址
windows的机器scp传输的文件是没有执行权的!
执行程序
chmod +x helloweb
可以看见正确的输出了页面。
比较遗憾的是go编写的程序尺寸有点大,我的有6.15M的样子吧。不过用go语言编写的程序功能和性能要好的多。而且功能可以很丰富。开发效率也比较高。go也支持编写动态库,配合C语言可以编写一些比较复杂的程序了。
此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处