登录
首页 >  Golang >  Go问答

1.10之后支持Windows XP

来源:stackoverflow

时间:2024-04-28 19:00:38 225浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《1.10之后支持Windows XP》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

首先:我知道 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 编译的 exe,或者某些方法是否会因为 XP 上缺少 API 而无法再工作而失败?


解决方案


Issue #23380是相关讨论。

简而言之:

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

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

  • 有权访问该内容并有动力致力于该内容的人 (付费或未付费)。

    最活跃的 Go-on-Windows 开发人员 Alex Brainman, 看来对XP不再感兴趣了。

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

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

  • 特定于平台的错误必须得到修复并进行测试。

    例如,该问题涉及 #23375,该问题仅发生在 Windows XP (SP3) 上。 但即使错误通常是 Windows 特有的,而不是 对于 Windows XP,修复该问题无论如何都必须在 XP 上进行测试。

因此,不幸的是,如果某些“强大实体”(例如公司)对 Windows XP 上支持的 Go 没有兴趣,那么您能做的最好的事情就是实际努力继续自己支持这一点,FWIW。 p>

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

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

今天关于《1.10之后支持Windows XP》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>