登录
首页 >  Golang >  Go问答

为何在交叉编译中不需要指定目标操作系统?

来源:stackoverflow

时间:2024-03-06 16:27:25 313浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《为何在交叉编译中不需要指定目标操作系统?》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

前言:我交叉编译代码的经验很少,而且我主要来自 golang 背景

我可以像这样交叉编译golang GOOS= GOARCH= go build

其中操作系统可能是“linux”或“windows”之类的东西。 为什么我不需要指定 linux 或 windows 的版本(或其他版本)?当然例如linux 多年来已经发生了变化,如果它依赖于它,我应该需要指定一个版本。

我想表达这个问题的另一种方式是,如果我在我的 Linux 机器上编译一些代码,它会在所有旧版本的 Linux 上运行吗?肯定不是

一个相关的问题:我认为这里的操作系统是指内核意义上的操作系统,而不是更广泛意义上的操作系统,它有时用来指整个 GNU+linux 系统等。


解决方案


Go Wiki 开始,支持的最低 Linux 内核 (GOARCH amd64386) 为:

基本上是 late 2007 onwards 中的任何 Linux 发行版。

其他 Linux 架构(arm*mips*s390x)支持的内核版本可在 here 中找到。

本篇关于《为何在交叉编译中不需要指定目标操作系统?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>