Golang在Windows环境下编译出Linux环境下运行的可执行程序

首先,获取目标系统所支持的构架,比如x86/x64/arm64/arm 等等。

在 linux 系统中,可以使用命令uname -a查看系统的一些信息;以作者的机器来说,如果你看到arm64之类的字样,表明你的系统是支持这种架构的程序的。

我们只需要将写好的go语言编译成这类架构的Linux程序即可。

在windows 系统CMD下,输入命令:go env查看 go的环境变量。

其中有两个参数对于跨平台编译至关重要。一个为%GOOS,一个为%GOARCH。在Windows系统下,%GOOS默认为 windows,%GOARCH 为 amd64 (根据系统不同,可能有所不同)。

要将程序编译为Linux程序,需设置 %GOOS 为 linux,且%GOARCH为Linux系统支持的架构。

在CMD下,输入:

go env -w GOOS=linux
go env -w GOARCH=adm64

然后编译GO程序即可,如无意外,会在工作目录生成一个无扩展名的文件,我们就可以在Linux系统下运行它了。

Linux系统下运行程序需要为新文件赋予可执行权限。

我们可以使用这种方法在Windows系统下编译出其它平台的可执行程序,相反,也可以在Linux系统下编译出Windows平台的可执行程序。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1541.html

分类: 计算机技术
推荐阅读:
C语言计算数组元素数量 使用sizeof()函数计算整个数组的内存占用大小,再计算单个元素的内存占用大小;以总内存占用大小除以单个元素的内存占用大小,得到的就是元素数量;
Python reversed()函数 在 Python 中,reversed() 函数用于反转序列(例如列表、元组、字符串等)中的元素,并返回一个迭代器。可以将这个迭代器转换为列表、元组或其他类型的序列。
PySide6 读取和修改按钮(QPushButton)的文本 要获取 QPushButton 的文本内容,你可以使用 text() 方法。这个方法会返回按钮当前显示的文本。要修改 QPushButton 的文本,你可以使用 setText() 方法。这将允许你在按钮上更改显示的文本内容。
没有main()函数的C语言程序 有两种方法可以不添加main()函数来运行C语言程序,第一种用#define预处理指令,第二种是使用-nostartfiles编译选项;
Python tuple元组 tuple(元组)类似于列表,但元组当中的项不能被修改。
Golang中的map数据类型 map 是一堆键值对的未排序集合;在Go语言中,使用map不需要引入库,它是一种内置的数据类型。