2016-07-07 2 views
0

У меня есть насущная потребность в разработке приложения для Windows 98, и у вас нет возможности использовать другую операционную систему. В этот день и возраст, есть ли какой-нибудь современный SDK, который я могу использовать для разработки приложения? Было бы здорово, если бы был какой-то способ нацелить Windows 98 на Visual Studio 2015, но насколько я знаю, это невозможно.Как настроить таргетинг на Windows 98?

Могу ли я написать и скомпилировать приложение для Windows 98 с помощью Visual Studio 2015? Если нет, то каков мой следующий лучший вариант?

ответ

0

Я предполагаю, что вы пишете собственный код: Windows 98 использует Win32-API, например XP и современные версии Windows. Некоторые вещи разные, например. API-интерфейсы, такие как VirtualAllocEx(), отсутствуют. Если вы избегаете этих API (https://msdn.microsoft.com имеет секцию минимальных требований для каждого API) и записывает собственный код, ваша программа также должна запускаться в Windows 98. Если у вас есть проблемы с Visual Studio, вы можете использовать старые добрые gcc и IDE, такие как Eclipse, Code :: Blocks и т. Д. Просто убедитесь, что вы не скомпилируете его для 64-битной plattform. В противном случае вы получите PE + бинарный файл, который не будет работать на Windows 98.

EDIT:

Согласно дискуссии в комментариях разделов несколько обновлений: Хотя PE для 32-разрядных (составлен на современный Windows) совместим с Windows 98, могут возникнуть проблемы с Visual Studio из-за его библиотеки времени исполнения. В качестве альтернативы, вы можете попробовать

  • компиляции без выполнения
  • использовать MinGW, как он использует msvcrt.dll

Тем не менее, это все еще сложно проверить, какая версия Windows, поддерживает некоторые интерфейсы из-за обновления в MSDN. На этом этапе может помочь старая копия MSDN.

+0

Это не совсем так просто. Исполняемые файлы, созданные с настройками по умолчанию VS2015, даже не будут запускаться в Windows XP, не говоря уже о Windows 98. (Я не уверен, почему, другая версия формата PE или что-то еще?) –

+0

Существуют две основные версии: PE и PE + , Последний - 64-битный. Я не пробовал использовать Visual Studio, но исполняемый файл PE, скомпилированный с MinGW, который использует поддерживаемые API Win32, должен работать на Win98. Я не уверен в автоматически сгенерированном stub (например, обработчике исключений), но в этом случае может помочь более старая версия mingw. Я не вижу смысла, почему я получаю нижний предел здесь. –

+0

Хммм. Согласно [этому сообщению в блоге] (https://blogs.msdn.microsoft.com/vcblog/2012/06/15/targeting-windows-xp-with-c-in-visual-studio-2012/) единственная причина исполняемые файлы, созданные с настройками по умолчанию VS2012, не работают на XP, так это то, что среда выполнения использует новые API. Возможно, я был введен в заблуждение сообщением об ошибке «Недействительное приложение Win32». У MinGW, вероятно, не будет этой проблемы, потому что она использует msvcrt.dll, а не собственную среду выполнения. –