ROSdll compatibility

Материал из Русский WINE
Перейти к: навигация, поиск


Совместимость c dll Windows

ROSdll 2014-12-27 19.00.54.png
ROSdll 2014-12-27 19.26.37.png

Обсуждение этой темы на форуме ReactOS

В конце 2013 появилась первая информация о совместимости (и заменяемости) kernel32.dll и ntdll.dll из ReactOS с Windows Server 2003 SP1. Эта информация многими была воспринята, как знак полной функциональной взаимозаменимости этих файлов в ReactOS и Windows, однако это ошибочное суждение. Данный факт свидетельствует, в первую очередь, о совместимости этих dll на уровне интерфейсов и "общего каркаса" системы. С точки зрения функциональной полноты, эти dll различаются достаточно сильно.


Возможные сценарии применения:

  1. Выявление проблемных мест в ReactOS. Замена dll reactos на dll windows для выявления нереализованных функций в этих библиотеках и повышении стабильности и совместимости. Можно организовать список dll, что и какой версии можно заменить/добавить от windows. В WINE подобный подход использует скрипт WineTricks (и другие похожие утилиты).
  2. Обнаружение "узких мест" в dll ReactOS. Проверка функционирования dll ReactOS'а, посредством простой замены соответствующих dll'ек Windows. Оценка работоспособности Windows с "кусками" ReactOS.
  3. "Вилка" dll. Использование некой "интерфейсной" dll, которая бы получала данные от программ, и передавала бы их сразу двум dll - из windows и reactos, а потом сравнивала бы возвращаемые ими результаты, и в случае их расхождения указывала бы на ошибки.


Справа на этой странице скриншоты ReactOS с подсистемой Win32 из Windows 2003 (т.е. файлы gdi32.dll, user32.dll, win32k.sys) по состоянию на 27.12.2014.

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP