Может ли Winelib связать DLL напрямую с исполняемым файлом ELF?
Есть DLL (нет исходного кода, но, надеюсь, внутри не ожидается ничего особенного). Собираюсь написать приложение для Linux, чтобы использовать его. Итак, GNU полностью: родной Linux gcc/gdb/ELF и т. Д.
Я нашел здесь на SO некоторые решения: с WineLib можно написать код, который имеет доступ к win32 LoadLibrary
функция, и этот код по-прежнему компилируется в двоичный файл ELF. Немного переадресации API, и вот файл *.so, который вызывает LoadLibrary
на dll и выставляет свои функции.
Это правильно?
Можно ли это автоматизировать? Есть ли пример с winedump
а также winegcc
что, вероятно, инструменты для этой работы?
1 ответ
Звучит все совершенно разумно. Формат DLL должным образом древний и не слишком сложный (он должен был работать на исходном процессоре 8086 и стал проще с 32-битной Windows). Код - это просто инструкции x86, а данные могут быть еще скучнее.
Тем не менее, это звучит также очень специализированно, что, вероятно, объясняет, почему я никогда не слышал о реальной реализации этой идеи.