Перейти после 1.10 и поддержка Windows XP - PullRequest
0 голосов
/ 02 сентября 2018

Прежде всего: я знаю, что 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: enter image description here

Как вы можете видеть, основной двоичный файл go по-прежнему работает и на XP. Уже известно, когда больше не будет возможности запускать скомпилированные golang-файлы в Windows XP из-за технических ограничений или если некоторые методы не будут работать, потому что они больше не могут работать из-за отсутствия API в XP?

1 Ответ

0 голосов
/ 02 сентября 2018

Выпуск # 23380 - соответствующее обсуждение.

Короче говоря:

Обратите внимание, что даже если 1.10 является последней версией, поддерживающей XP, вы получите бэкпорты с исправлениями ошибок до выхода 1.11 и защитные бэкпорты до 1.12. Это означает, что до января 2019 года <…>


Что касается поддержки Windows XP, то существуют как технические, так и нетехнические причины. Для поддержки платформы требуется:

  • Кто-то, кто имеет к нему доступ, и стимул работать над этим (платный или неоплаченный).

    Самый активный разработчик Go-on-Windows, Алекс Брейнман, похоже, больше не интересуется XP.

  • Эта платформа должна поддерживаться автоматическими сборщиками, которые являются частью процесса выпуска / тестирования Go.

    Кто-то должен поддерживать autobuilder.

  • Ошибки, характерные для платформы, должны быть исправлены и проверены.

    Например, эта проблема относится к # 23375 , которая возникает только в Windows XP (SP3). Но даже если ошибка была характерна для Windows в целом, а не для Windows XP, исправление для этого в любом случае должно быть проверено на XP.

Следовательно, к сожалению, если нет интереса к поддерживаемому Go на Windows XP, исходящему от каких-то "влиятельных лиц" - например, корпораций - лучшее, что вы можете сделать, - это по-настоящему работать, чтобы по-прежнему поддерживать это самостоятельно, FWIW.


Также обратите внимание, что даже после официального прекращения поддержки вы все равно можете успешно создавать новые версии Go из исходного кода (что довольно просто, поскольку Go 1.5, поскольку Go теперь создается с использованием (более ранней версии) Go).

Следовательно, настоящей демонстрацией остановок была бы команда Go, столкнувшаяся с каким-то препятствием, для которого потребовалось бы некоторые функции ядра, отсутствующие в Windows XP. Хорошим примером было некоторые трудности с обработкой SEH в Windows 2000 , что в конечном итоге привело к прекращению поддержки этой ОС.

...