Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт апр 27, 2017 4:34 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Вс апр 07, 2013 8:38 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Ну, во-первых, для виндовых прог исходники обычно не раздаются:( Во-вторых, портировать пару сотен прог - лучше одну, хоть и сложную. В третьих, реализовать пару виндовых функций, а затем увидеть результат работы в форме рабочего хелловорлда - это такой кайф, что его хочется продлевать и продлевать. В четвёртых, я начинающий программист, а доскональное знание винапи, устройства памяти, реестра и ещё куча всего, что я получу при реализации, мне очень пригодятся и с лихвой окупают затраченное время. И пусть даже я за год смогу соорудить совместимость только с десяткой(да хоть и меньше, всё равно) реально полезных виндовых прог, но бросать идею - ни за что. Ну и самое главное: не так страшен чёрт, как его рисуют:)

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Вс июн 02, 2013 10:57 am 
Не в сети

Зарегистрирован: Вс июн 02, 2013 10:25 am
Сообщения: 2
если у вас есть желание научить колибри запускать вин-приложения, думаю стоит попробовать научить само ядро, с вайна потребуются только либы. процесс будет не совсем легкий, но получите опыт.
хотя я больше придерживаюсь, что если нужно что-то с винды, то лучше портировать, тем самым поможете проекту с софтом.


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Вс июн 02, 2013 11:03 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Нафиг ядро? viewtopic.php?f=9&t=2318


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Пн июн 03, 2013 2:44 pm 
Не в сети

Зарегистрирован: Вс июн 02, 2013 10:25 am
Сообщения: 2
SoUrcerer писал(а):
Нафиг ядро? viewtopic.php?f=9&t=2318


а приложения, которым требуется псевдо виндовый реестр как будут работать?


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Пн июн 03, 2013 3:05 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Кто мешает сделать это в user-mode? В любом случае библиотеки используются. Это может быть что-то вроде ARWINSS, только не ARWINSS :)


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Ср июн 05, 2013 9:09 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Ядро(точнее драйвер) нужен только затем, что бы выделить память в любом месте виртуального пространства. А остальное элементарно сооружается в user-mode. А реестр - это файлы. И вин-проги обращаются к нему через функции вин-библиотек. Т.е. даже не обязательно соблюдать вин-формат файлов реестра(хотя желательно:) ).
PS: Не предсталяю как можно портировать автодиагностические программы, если не то что исходники, но просто дизассемблировать их - работа иногда очень сложая. По крайней мере у меня ни умений, ни желания нет)

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Порт wine
СообщениеДобавлено: Пт июн 07, 2013 9:05 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Вот выкладываю свои старания. Пока библиотеки мягко говоря не развиты. Работает MesageBox(и Юникод тоже). ExitProcess вылетает:( User умел создавать окно, кнопки и обрабатывать элементарные события, но после переделки разучился :D. Но это пока. Вот. Ядро этой программы(назвал Victoria, надеюсь претензий не будет:) ) умеет грузить проги и библиотеки PE. Также в ней находятся некоторые общие функции для библиотек(менеджер памяти, конвертор кодировок...). Компиляция несколько сложновата. Приходится преобразовывать отладочную инфу для Victoria в инклудник(это можно сделать с помощью DbgToOffsTabl). Этот инклудник нужен библиотекам, иначе они просто не смогут пользоватся функциями ядра проги. Вот. Для работы этой проги нужно скопировать драйвер vicdrv.obj в /sys/drivers. И для этого драйвера нужно, что бы ядро экспортировало функцию user_alloc_at. В архив я положил модифицированное ядро. Так что к ядерщикам просьба: добавьте, пожалуйста. Затем надо в Victoria.ini прописать путь до папки /dlls(в ней лежат псевдоWin-библиотеки). Ну и тогда можно запускать вин-проги: victoria /hd0/1/proga.exe . Если прога досовая(точнее не PE), то она будет запущена в dosbox(путь до него содержиться Victoria.ini). Единственная фишка в пути: он не должен содержать ".exe " (последний пробел. Если его нет, то работать будет нормально). Ну в общем сие творение чего-то полезного пока не запускала, но, надеюсь, всё будет. Пока пару пробных прог есть в архиве в tests (прога micronw.exe выводит HelloWorld на доску отладки, testdll тоже, просто у неё чуть сложнее загрузка импортируемых библиотек).


Вложения:
Victoria.zip [259.72 КБ]
70 скачиваний

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB