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 

相关推荐

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

    2024-04-02 18:10:02       15 阅读
  2. 交叉编译

    2024-04-02 18:10:02       17 阅读
  3. 实战tcpdump4.99.4交叉编译

    2024-04-02 18:10:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 18:10:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 18:10:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 18:10:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 18:10:02       20 阅读

热门阅读

  1. 【无标题】

    2024-04-02 18:10:02       11 阅读
  2. 页面中的图片,以后可不能随便使用了!

    2024-04-02 18:10:02       11 阅读
  3. 常见的两种git工作流分支模型

    2024-04-02 18:10:02       14 阅读
  4. C语言经典面试题目(二十四)

    2024-04-02 18:10:02       15 阅读
  5. Android 使用LeakCanary检测内存泄漏,分析原因

    2024-04-02 18:10:02       13 阅读
  6. 【Python进阶(三)】——面向对象编程

    2024-04-02 18:10:02       21 阅读
  7. linux开启启动配置

    2024-04-02 18:10:02       14 阅读
  8. Qt 在编辑框中加入按钮控件

    2024-04-02 18:10:02       12 阅读
  9. Linux 内核中PHY子系统(网络):PHY驱动

    2024-04-02 18:10:02       13 阅读
  10. 【C语言】字符串与内存函数

    2024-04-02 18:10:02       14 阅读
  11. CommandLineRunner解释学习

    2024-04-02 18:10:02       12 阅读
  12. NGINX安装方法(亲测可用)

    2024-04-02 18:10:02       11 阅读