【发布时间】:2018-09-02 12:37:09
【问题描述】:
首先:我知道 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 上执行:
正如您所见,主要的 go 二进制文件仍然可以在 XP 上运行。是否已经知道什么时候由于技术限制而无法在 Windows XP 上运行 golang 编译的 exe,或者某些方法会因为 XP 上缺少 API 而无法工作而失败?
【问题讨论】:
-
放弃支持通常并不意味着某件事可以保证不工作——而是不能保证它可以工作。毫无疑问,Go 1.11 和/或标准库的某些功能在 Windows XP 上会失败。只要您不使用这些功能,您的软件就有可能正常工作。
-
我不知道为什么有人投了反对票(不是我)。但是要求人们解释他们的反对意见确实是不合适的。他们匿名是有原因的。
-
@Marged,我想说你的问题只是not on-topic for SO,这就是它被否决的原因。我个人认为这个问题对某些人来说既有趣又可能有用(因为我认为我在你的靴子里,也就是说)但这并不能改变它偏离主题的事实。您最好将其发布到邮件列表中。
-
@kostix:如果离题,它应该获得 VtCed,而不是 DVed。目前,根本没有接近投票。因此,题外话的理论似乎并没有得到充分证实。就个人而言,我认为这个问题非常切题,也不值得投反对票。我没有投票的唯一原因是答案似乎不言自明,所以不是特别有趣。
-
对源代码的快速搜索发现了一些(次要)功能,因为需要支持 XP。如果您从不遇到它们,您可能会没事的。不过当然,如果你还有一台XP机器,你需要把它拿出来拍。
标签: go windows-xp