千家信息网

在Raspberry Pi上golang怎么用

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章将为大家详细讲解有关在Raspberry Pi上golang怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Raspberry上编译前准备及配置一。俗话
千家信息网最后更新 2024年11月20日在Raspberry Pi上golang怎么用

这篇文章将为大家详细讲解有关在Raspberry Pi上golang怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Raspberry上编译前准备及配置

一。俗话说巧妇难为无米之炊,要编译源码先得下源码,下载后这里解压到 /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功能来实现。

Raspberry上编译golang

打开命令行,进入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上运行便可了。

如何上golang官网

最近发现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

好了,看看可以打开官网了吗!

在ubuntun上编译go程序在Raspberry上运行

其实就是交叉编译。将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怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

编译 命令 运行 目录 上编 源码 变量 文件 更多 程序 篇文章 过程 交叉 输入 配置 内存 内容 工具 时间 点数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国家网络安全博览会主题 附加sql数据库失败 软件开发项目管理工资 对数据库中数据的查询插入功能 数据库表怎么都修改不了 程序员和网络安全哪个工资高 系统如何数据库连接 数据库系统绪论笔记 江西联想服务器维修维保哪家便宜 h2数据库多线程阻塞 网络安全实习生的工作内容 ps5跟ps4服务器互通吗 论大学生安全的网络安全 省份城市数据库设计 如何看待网络安全自由 北京思极网络技术 公司通讯录怎么建数据库 数据内存查询与数据库查询的区别 数据库运维探索与实践 江门嵌入式软件开发费用 临海市随意网络技术有限公司 ABB套接字通讯当服务器 大学课程软件开发学什么 亿家安互联网科技好吗 碧蓝航线以前玩的服务器怎么找回 服务器内存一般的占有率是多少 信息与网络技术基础期末真题 服务器配置参数怎么看 数据接收服务器 数据库的主流技术
0