为了账号安全,请及时绑定邮箱和手机立即绑定

追求 1.10 和 Windows XP 的支持

追求 1.10 和 Windows XP 的支持

Go
杨魅力 2023-03-29 15:43:52
首先:我知道 Windows XP 已过时,极其不安全,存在巨大风险,而且仍在使用它的每个人都注定永远失败。尽管如此,我必须提供一个也可以在 Windows XP 上运行的应用程序,并且我使用 Go 来实现。在 1.10 中宣布不再支持 XP,1.11 在发行说明中确认了这一点:正如 Go 1.10 发行说明中所宣布的那样,Go 1.11 现在需要 OpenBSD 6.2 或更高版本,macOS 10.10 Yosemite 或更高版本,或者 Windows 7 或更高版本;已删除对这些操作系统以前版本的支持。我用 1.11 编译我的应用程序并尝试在 Windows XP SP3 虚拟机上执行它。可以执行成功!然后我认为取消对 Windows XP 的支持仅适用于开发工具链,但即使这样仍然可以在 Windows XP 上执行:如您所见,主要的 go 二进制文件也在 XP 上运行。是否已经知道何时由于技术限制而无法在 Windows XP 上运行 golang 编译的 exes,或者某些方法是否会失败,因为它们由于在 XP 上缺少 API 而无法再工作?
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

Issue #23380是相关的讨论。

简而言之:

请注意,即使 1.10 是支持 XP 的最后一个版本,您也会在 1.11 发布之前获得错误修复向后移植,并在 1.12 发布之前获得安全向后移植。这意味着直到 2019 年 1 月 <...>


至于支持Windows XP,既有技术上的原因,也有非技术上的原因。支持平台需要:

  • 有权访问它的人,以及对其工作的激励(有偿或无偿)。

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

  • 该平台必须在作为 Go 发布/QA 流程一部分的自动构建器上得到支持。

    汽车制造商必须有人支持。

  • 必须修复和测试特定于平台的错误

    例如,该问题涉及#23375,它只发生在 Windows XP (SP3) 上。但是,即使一个错误通常是 Windows 特有的——与 Windows XP 不同,它的修复也必须在 XP 上进行测试。

因此,不幸的是,如果某些“强大的实体”(例如公司)对 Windows XP 上受支持的 Go 没有兴趣,那么您能做的最好的事情就是真正努力自己仍然支持它,FWIW。


另请注意,即使在支持正式结束后,您仍然可以从源代码构建更新的 Go 版本(这相当简单,因为 Go 1.5 现在是使用(旧版本的)Go 构建的)。

因此,真正的阻碍将是 Go 团队遇到一些障碍,这只需要一些 Windows XP 中不存在的内核功能。一个很好的例子是在 Windows 2000 上处理 SEH 时遇到一些困难,最终导致放弃对该操作系统的支持。


查看完整回答
反对 回复 2023-03-29
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信