鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Go编译系统迁移

Go语言属于编译型语言,从源码到可执行文件过程如图1所示。Go程序最终编译为二进制文件,由操作系统加载到存储器之后由CPU执行,过程类似于C、C++语言,差别是Go有一套特有的编译器、汇编器、链接器。由于鲲鹏服务器和x86体系结构存在差异,导致Go编译系统也存在不同,迁移过程中需要针对不同架构安装不同的编译器套件,当代码中包含Go汇编时还需进行适配修改。

图1 Go程序编译执行过程

以下主要介绍鲲鹏处理器下Go编译系统迁移,首先下载最新的AArch64 golang,最新的版本对AArch64有更好的支持,推荐版本1.13及以上。

下载地址:https://go.dev/dl/

国内下载地址:https://studygolang.com/dl

将下载的二进制包解压至安装目录,这里以/usr/local为例,通常需要设置3个环境变量GOROOT(软件包安装在系统上的位置),GOPATH(工作目录的位置、需要根据实际代码目录设置)和PATH(设置Go的bin目录),在.profile或/etc/profile文件设置环境变量如下:

echo "export GOROOT=/usr/local/go" >> ~/.profile 
echo "export PATH=$GOPATH/bin:$GOROOT/bin:$PATH" >> ~/.profile 
source ~/.profile