Здравствуйте, Just Men, Вы писали:
JM>Перевожу продукт под Линукс, пока думаю что мне это будет стоить —
JM>вопросs
JM> 1) Какой аналог виндового MapOfViewFile mmap2 ?
Лучше просто mmap использовать. А прямого аналога все-равно нет.
Или так важно смещение указывать в единицах размера системной страницы, а не в байтах, что ради этого надо применить линукс-специфичную функцию?
JM> 2) Как обрабатывать исключения по чтению не отображенных данных в виртуальном адресном пространстве процесса? Надо туда данные из некого файла читать (или вычислять )
Наверное, ловить сигналы SIGSEGV и SIGBUS, кстати, если еще не читали, советую почитать
http://www.opennet.ru/base/dev/unix_signals.txt.html — текст уже староватый, но в принципе актуальный.
JM> 3) Насколько трудно и будет переписать код с окошками, сейчас под виндой истпользуется низко уровневое виндовое АПИ. ( с событиями ). Паинт там и прочее.
Низкоуровневое API конечно придется целиком переписать. Однако если очень не хочется, можно попробовать его использовать и в Linux с помощью winelib, но результат не гарантирован и чреват глюками, в том числе при изменении версии wine.
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, Just Men, Вы писали:
JM>>Перевожу продукт под Линукс, пока думаю что мне это будет стоить —
JM>>вопросs
JM>> 1) Какой аналог виндового MapOfViewFile mmap2 ?
M>Лучше просто mmap использовать. А прямого аналога все-равно нет.
M>Или так важно смещение указывать в единицах размера системной страницы, а не в байтах, что ради этого надо применить линукс-специфичную функцию?
JM>> 2) Как обрабатывать исключения по чтению не отображенных данных в виртуальном адресном пространстве процесса? Надо туда данные из некого файла читать (или вычислять )
M>Наверное, ловить сигналы SIGSEGV и SIGBUS, кстати, если еще не читали, советую почитать http://www.opennet.ru/base/dev/unix_signals.txt.html — текст уже староватый, но в принципе актуальный.
JM>> 3) Насколько трудно и будет переписать код с окошками, сейчас под виндой истпользуется низко уровневое виндовое АПИ. ( с событиями ). Паинт там и прочее.
M>Низкоуровневое API конечно придется целиком переписать. Однако если очень не хочется, можно попробовать его использовать и в Linux с помощью winelib, но результат не гарантирован и чреват глюками, в том числе при изменении версии wine.
О, wine — это всегда очень плохой выход. Переписать окошки на Gtk — совсем не сложно, учитывая, что есть Glade. Писать на Gtk куда проще, чем на WinAPI, так что и времени потратите куда меньше. При условии наличия готового и не очень сложного интерфейса можно переписать за два-три дня. Полагаю, это стоит хорошей и стабильной работы продукта безо всяких wine'ов.