Go build 交叉编译-实现多平台兼容

【前言】

本章主要讲的是go程序如何兼容各种架构系统以及架构之间的区别

        直接上干货,直接执行下面的指令,将GOOS(平台)和GOARCH(架构)就可以解决大部分架构兼容问题


GOOS=linux GOARCH=amd64 go build test.go

        ✔是不是很简单呀,确实是的,接下来就解释一下【平台有哪些】、【架构有哪些】、【为什么go程序可以兼容不同架构的那些事情】   

【什么是交叉编译】

程序交叉编译后就可以在各操作系统执行,非Java或Python依赖虚拟机,Go编译后不依赖虚拟机。

【平台分为几种】

  • PC段:linux、windows、darwin(苹果系统 Mac os)、aix(IBM操作系统 如AIX 5L)

  • 手机系统:android、ios(苹果)

【架构分为几种】

常见的有386(英特尔)、amd、arm

  386: 英特尔,常用于作为中央处理单元(CPU)

  X86:包含有amdintel,架构性能好,耗电多、电压高,主要用于PC机、服务器

  ARM:架构耗电少、电压低,单核性能低于X86,主要用于移动设备、手机、路由器。

【X86,64位是指什么?】

X86一般是指32位的系统,X64就是64位的系统。

X64本质上也是X86的一个版本,确切来说,应该叫x86_64,可以简单理解成X86的下一代版本。

结尾,写一个一次性go交叉编译的sh脚本

#!/usr/bin/bash 
archs=(amd64 arm64) 
for arch in ${archs[@]} 
do         
    env GOOS=linux GOARCH=${arch} go build -o prepnode_${arch} 
done 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值