Отлаживал последние полмесяца с перерывом на зачётную сессию возможность создания в программе на DEmbro коллбэков, т.е. функций, которые можно передавать во внешний мир. Пока что узкий круг функций (stdcall, каждый параметр и возвращаемое значение занимают 4 байта), но зато поддерживается, ура!
Проделана большая работа. Т.е. «функции» DEmbro несовместимы с обычными функциями в системе, для их поддержки требуется генерировать на лету машинный код-переходник, который перекладывает с системного стека параметры на стек параметров DEmbro. Очень много времени я потратил в Hex-редакторе, отлаживая генерируемый машинный код, теперь в нём даже немного могу увидеть ассемблерный код и отличаю «8b» от «b8».
Результатом этого стала программа, благополучно создающая окно в винде на чистом WinApi. Это означает, что уже возможно писать WinApi, OpenGL и прочие, не требующие каких-то сложных спец. возможностей, приложения.
Комментариев нет:
Отправить комментарий