Go编译系统迁移
Go语言属于编译型语言,从源码到可执行文件过程如图1所示。Go程序最终编译为二进制文件,由操作系统加载到存储器之后由CPU执行,过程类似于C、C++语言,差别是Go有一套特有的编译器、汇编器、链接器。由于鲲鹏服务器和x86体系结构存在差异,导致Go编译系统也存在不同,迁移过程中需要针对不同架构安装不同的编译器套件,当代码中包含Go汇编时还需进行适配修改。
以下主要介绍鲲鹏处理器下Go编译系统迁移,首先下载最新的AArch64 golang,最新的版本对AArch64有更好的支持,推荐版本1.13及以上。
国内下载地址: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
父主题: Go语言迁移