这不同于 Python、Ruby 和 JavaScript 等语言,它们不包含编译步骤 。Go 自带了编译器,因此无须单独安装编译器 。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站 。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系 。
golang生成的二进制可以反编译吗和C/C++编译的程序一样 , 都是机器码,如果你能反编译C的就能反编译Go的 。
可以反编译成汇编
如何编译arm linux的goGolang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了 。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包 。ARM平台没办法直接从下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装 。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤 。
注:本文选用树莓派做测试,因为树莓派是基于ARM平台的 。
1、编译工具配置
据说下个版本的golang编译工具要使用golang自己来写 , 但目前还是使用C编译工具的 。因此 , 首先要配置好C编译工具:
1.1 在Ubuntu或Debian平台上可以使用sudo apt-get install gcc libc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装 。
1.2 在RedHat或CentOS 6平台上可以使用sudo yum install gcc libc-devel命令安装 。
安装完成后可以输入 gcc --version命令验证是否成功安装 。
2、获取golang源代码
2.1 直接从下载源代码压缩包 。
golang提供golang的源代码压缩包 , 可以直接下载 , 最新的1.4.1版本源代码链接:
2.2 使用git工具获取 。
golang使用git版本管理工具,也可以使用git获取golang源代码 。推荐使用这个方法,因为以后可以随时获取最新的golang源代码 。
2.2.1 首先确认ARM平台上已经安装了git工具 , 可以使用git --version命令确认 。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:
2.2.2 克隆远程golang的git仓库到本地
在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录 。然后以下命令获取代码仓库:
git clone
大陆地区可能会获取失败 , 在不翻墙的情况下我试了几次都没成功,原因大家都懂的 。好在google已经将golang也托管到github上面,所以也可以通过下面命令获?。?
git clone
视网络情况,下载可能需要不少时间 。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆= =
下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cd go命令进入该目录 。
执行下面命令检出go1.4.1版本的源代码,因为现在已经有新的代码提交上去了,最新的代码可能不是最稳定的:
git checkout go1.4.1
至此 , 最新1.4.1发行版的源代码获取完毕
3、设置golang的编译环境变量
主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义 。
3.1 GOROOT
主要代表golang树结构目录的路径,也就是上面git检出的go目录 。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本运行时的父目录作为GOROOT的值 。为了保险起见,可以直接设置为go目录的路径 。
推荐阅读
- 联通网能选电信服务器吗,联通的网可以用电信的光猫吗
- 如何推广寿司,寿司如何加热
- 家里小路由器怎么连接电视,家里小路由器怎么连接电视机
- sapps操作手册,sap pp操作手册
- python编写递归函数 python递归写法
- mysql账户没有写文件权限设置,mysql没有user表
- sap迁移是什么意思,sap从ecc迁移至s4
- get函数C语言 c语言getchar函数
- 电商如何手机复制视频,电商如何手机复制视频教程