Может ли 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, а данные могут быть еще скучнее.

Тем не менее, это звучит также очень специализированно, что, вероятно, объясняет, почему я никогда не слышал о реальной реализации этой идеи.

Другие вопросы по тегам