doqw89029 2018-09-02 12:37
浏览 166
已采纳

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

First of all: I know that Windows XP is end of life, insanely insecure, a big risk and that everyone still using it will be doomed for ever. Nonetheless I have to provide an application that can also run on Windows XP and I do so using Go. In 1.10 it was announced that XP will no longer be supported and 1.11 confirms this in the release notes:

As announced in the Go 1.10 release notes, Go 1.11 now requires OpenBSD 6.2 or later, macOS 10.10 Yosemite or later, or Windows 7 or later; support for previous versions of these operating systems has been removed.

I compiled my application with 1.11 and tried to execute it on a Windows XP SP3 virtual machine. It could be executed successfully ! Then I thought that the revoked support for Windows XP only applies to the development toolchain but even that can still be executed on Windows XP: enter image description here

As you can see the main go binary still runs on XP too. Is it already known when it will no longer be possible to run golang compiled exes on Windows XP because of technical limitations or if certain methods will fail because they can no longer work because of missing APIs on XP ?

  • 写回答

1条回答 默认 最新

  • duan00529 2018-09-02 13:56
    关注

    Issue #23380 is the relevant discussion.

    In short:

    Note that even if 1.10 is the last version to support XP, you'd get bugfix backports until 1.11 is out, and security backports until 1.12 is out. That means until January 2019 <…>


    As to supporting Windows XP, there are both technical and non-technical reasons. Supporting a platform requires:

    • Someone who has access to it, and an incentive to work on it (either paid or unpaid).

      The most active Go-on-Windows developer, Alex Brainman, seems to have no interest in XP anymore.

    • This platform must be supported on autobuilders which are part of the Go release / QA process.

      An autobuilder must be supported by someone.

    • Bugs specific to a platform must be fixed and tested.

      For instance, that issue refers to #23375 which happens only on Windows XP (SP3). But even if a bug was specific to Windows in general—as opposed to Windows XP, a fix for it would have to be tested on XP anyway.

    Hence, unfortunately, if there is no interest in supported Go on Windows XP coming from some "powerful entities"—such as corporations—the best you can do is to actually work towards still supporting this by yourself, FWIW.


    Also note that even after the support is officially ended, you still might have success building newer Go releases from the source (which is reasonably simple since Go 1.5 as Go is now built using (an older release of) Go).

    Hence a real show-stopper would be the Go team hitting some roadblock which would just require some kernel feature not present in Windows XP. A good example was some difficulty with SEH handling on Windows 2000 which eventually led to dropping support for that OS.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制