1.10及更高版本开始支持Windows XP

时间:2018-09-02 12:37:10

标签: go windows-xp

首先:我知道Windows XP即将寿终正寝,非常不安全,这是一个巨大的风险,并且仍在使用它的每个人都将永远注定失败。 但是,我必须提供一个可以在Windows XP上运行的应用程序,而我必须使用Go来运行。 在1.10中宣布不再支持XP,而1.11在release notes中确认了这一点:

  

如Go 1.10发行说明中所述,Go 1.11现在需要   OpenBSD 6.2或更高版本,macOS 10.10 Yosemite或更高版本,Windows 7或   后来;对这些操作系统的早期版本的支持   已被删除。

我用1.11编译了我的应用程序,并试图在Windows XP SP3虚拟机上执行它。它可以成功执行! 然后,我认为撤销的对Windows XP的支持仅适用于开发工具链,但即使在Windows XP上仍然可以执行: enter image description here

您可以看到main go二进制文件也仍然可以在XP上运行。是否已经知道何时由于技术限制而无法在Windows XP上运行golang编译的exe,或者某些方法是否由于XP上缺少API而无法使用而导致某些方法失败?

1 个答案:

答案 0 :(得分:4)

Issue #23380是相关的讨论。

简而言之:

  

请注意,即使1.10是最后一个支持XP的版本,您也将获得错误修正支持,直到1.11发行,而安全支持,直到1.12发行。这意味着直到2019年1月<…>


关于支持Windows XP,有技术和非技术方面的原因。 支持平台需要:

  • 有权使用它的人,并且有动机去做 (已付款或未付款)。

    最活跃的Windows上的开发人员Alex Brainman, 似乎对XP不再感兴趣。

  • 自动构建器必须支持此平台,这些构建器是Go发布/质量检查流程的一部分。

    自动构建器必须得到某人的支持。

  • 特定于平台的错误必须固定并经过测试。

    例如,该问题涉及#23375,该问题仅在Windows XP(SP3)上发生。 但是,即使一个错误通常是Windows特有的-相对而言 对于Windows XP,无论如何都必须在XP上测试该补丁。

因此,不幸的是,如果对一些“强大实体”(例如,公司)对Windows XP上受支持的Go毫无兴趣,那么您最好的办法就是实际努力仍然自己来支持FWIW。


还请注意,即使正式停止支持,您仍可能会成功地从源代码构建新的Go版本(这很简单,因为Go 1.5现已使用Go(较早的Go版本)构建,所以Go。) / p>

因此,真正的阻止者是Go团队遇到了一些障碍,这些障碍需要一些Windows XP中不存在的内核功能。 一个很好的例子是some difficulty with SEH handling on Windows 2000,最终导致对该操作系统的支持下降。

相关问题