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

分类: 计算机技术
推荐阅读:
requests定制HTTP请求头 如果你想为HTTP请求添加或修改头部信息,只需给 headers参数传递一个字典。
配置Nginx实现简单的反盗链 本文通过Nginx的配置指令valid_referers来实现简单的图片和其它类型文件的防盗链。
Python exec()函数 Python中的exec函数用于动态执行Python代码。它接受一个包含Python代码的字符串作为参数,并将其作为Python程序执行。
查询Linux系统是哪个发行版 在Linux系统下,如果你想知道当前系统是哪一个发行版,你可以使用一条命令实现查询:
MySQL ADDDATE() 函数 ADDDATE()函数用于将一个时间值增加到一个日期当中;通俗的讲,就是可以通过这个函数将一个日期增加多少天;
C语言isdigit()函数:判断字符是否为数字字符 isdigit()是C语言标准库中的一个函数,用于判断一个字符是否是数字字符(ASCII码为48~57);如果传入的字符参数是一个数字字符(0~9),则返回非0值,否则返回0;