так в том-то и дело, что чем больше совместимости на нижнем уровне - тем меньше необходимость это воссоздавать. Почему бы не устанавливать тот же директХ прямо микрософтовский, зачем его с нуля клонировать? Он вообще-то бесплатный, бери да скачивай.
nemyax
Ну блин, сначала завлекают риторическим вопросом "Would you like to play the latest and greatest Windows games", а потом рассказывают, как установить старичка DirectX 9... Потом вижу - статья 2010 года. Но DX9 уже давно вроде бы научились эмулировать через OpenGL и даже софтварно, а как быть с чем-то посвежее, тем же DX11?
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
XaeroX писал: nemyax
Ты что-то слишком часто стал тимтха цитировать в последнее время, а ведь он ещё пока не гуру и бороду вроде как не отрастил. Или я чего-то не знаю?
Нет, бороду он не отрастил и гуру не стал, но сам же знаешь эту логику: нет цитирований, значит нет доверия к источнику.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Wine нельзя встроить в ядро по одной простой причине. Windows и Linux -- абсолютно разные системы. В принципе.
Написать загрузчик PE бинарников -- это тривиальная задача и в том же старом форке Ксаша был реализован загрузчик виндовых модов под Linux/OSX. Но делался он с учетом того, что мод не дёргает виндовых функций и обходится минимумом, вроде каких-то CRT вызовов и всё.
Как вы понимаете, применить такую же логику по отношению к виндовым программам просто невозможно. Это просто не задача ядра. Этим Wine и занимается,
Добавлено 11-07-2019 в 17:52:
Вообще винда на самом деле поражает иногда в гибкости, которая зарыта как можно дальше ото всех.
Те же сисколлы в Linux -- тот интерфейс, который менять НЕЛЬЗЯ ВООБЩЕ. А в Windows сисколлов нет. Какой-то вызов ядра может спокойно переехать в DLL и наоборот. Так NT по словам Microsoft переписывали не раз, но весь совместимость-то сохранилась!
Ну как же нет? Они просто скрыты от пользователя через этот самый слой WinAPI. Именно с целью сохранения абстракции и совместимости.
Тут уместно вспомнить товарища на нашем форуме, который предлагал статически линковать программы с kernel32.lib.