如何确定使用哪个Go版本来编译二进制文件

时间:2018-03-27 09:49:19

标签: go

当我运行命令

go build

我最终得到的应用程序太大,无法运行且出现大量错误。

我使用与教我的其他人相同的来源。我也很尴尬地问他这些问题。我理解不同的操作系统有所不同,但是它应该影响实际程序及其工作原理吗?

如何找出在已编译的应用程序中使用了哪个版本的Go以及使用了哪个编译器?它只是一个应用程序文件。

1 个答案:

答案 0 :(得分:2)

通过执行var distinctTable = objDataTable.AsEnumerable() .GroupBy(x => row.Field<string>("cfg")) .OrderBy(x => x.Key) .Select( x => new { PropName = x.Key, CountofProps = x.Count}).ToList(); ,您将为当前文件夹中的go程序创建二进制文件。

更新

创建二进制文件后,您无法确定使用哪个版本的go build来创建二进制文件。

要查找用于编译的Go版本,请使用GO或其他调试器。这是一个很棒的blog

您可以使用

检查文件
gdb

获取类似二进制文件的信息,以及它应该在哪个操作系统上运行。

例如:file mybinary 文件在ELF上运行      Linux等文件在Mach-O上运行...

但是,您可以{/ 1}使用

编写Go代码
Mac

所以这为cross compile创建了一个二进制文件,即使我在GOOS=linux go build / linux (ELF file)

上运行Go