Go 编译的二进制文件会在 Windows NT 上运行,包括使用以太网端口吗?

Posted

技术标签:

【中文标题】Go 编译的二进制文件会在 Windows NT 上运行,包括使用以太网端口吗?【英文标题】:Will Go compiled binaries run on Windows NT including the use of Ethernet ports? 【发布时间】:2020-09-10 22:54:06 【问题描述】:

是的,Windows NT 仍然是一些人必须处理的事情。

我想知道是否可以在 NT 上运行使用 Go 编译的二进制文件并使用以太网端口进行通信 (MQTT)。如果是这样,我需要注意什么?

我承认我没有在这种情况下进行测试,因为在我当前的环境中根本无法使用 Win NT。

【问题讨论】:

【参考方案1】:

我认为它不会起作用。我下载了使用 Go 的Caddy,并在上面运行了dumpbin。我得到了:

Microsoft (R) COFF/PE Dumper Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file caddy_windows_amd64.exe

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (x64)
...
             223 characteristics
                   Relocations stripped
                   Executable
                   Application can handle large (>2GB) addresses
                   Debug information stripped

OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            3.00 linker version
...
            6.01 operating system version

因此,Windows 的最低支持版本是 NT6,即 Vista。

ticket 似乎支持这句话:

Go 1.10 是支持 Windows Vista 或更低版本的最后一个版本

还有:

我们计划宣布 Go 1.10 将成为支持 Windows XP 的最后一个 Go 版本。

所以旧版本的 Go 支持 Windows XP 及更高版本。新版本需要 Vista 及以上版本。

【讨论】:

非常感谢您的回答,它对我帮助很大,不幸的是它并没有让我的生活更轻松:-)

以上是关于Go 编译的二进制文件会在 Windows NT 上运行,包括使用以太网端口吗?的主要内容,如果未能解决你的问题,请参考以下文章

Go 编译器可以安装在 Windows 上吗?

windows环境中使用goland构建linux二进制文件并运行

如何将文件嵌入到 Go 二进制文件中

Go 编译的二进制文件不会在 Ubuntu 主机上的 alpine docker 容器中运行

搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇

在windows环境下 编译pb (protobuf) 文件