Возможно использование .dll в Linux
Вопрос
Вопрос: Возможно ли скомпилировать программу в Linux, используя .dll-файл?
К чему все это ведет: Это .dll будет использоваться для записи расширения php к некоторому проприетарному программному обеспечению третьей стороны.
Справочная информация и исследования:
Мне дали библиотеку под названием proprietary.lib
.Мне было любопытно, так как я никогда не видел .lib
расширение раньше, поэтому я набрал:
file proprietary.lib
Результатом было:
proprietary.lib: current ar archive
Я провел кое-какие исследования и обнаружил, что ar
является более или менее tar
(и на самом деле, я думаю tar
с тех пор заменил ar
в большинстве сред *nix).
После осмотра ar
страница пользователя, я видел t option
, который отображает табличный список содержимого этого архива.Прохладный.Итак, я печатаю:
ar t proprietary.lib
И получить:
proprietary.dll
proprietary.dll
... (snip X lines) ...
Решение
Вы могли бы попробовать извлечь ar
файл (пакеты Debian являются ar
files, fwiw) и запустите file
о содержимом.
Вы не сможете использовать библиотеки DLL Windows без перевода.Единственные известные мне DLL-файлы, которые изначально работают в Linux, скомпилированы с помощью Mono.
Если кто-то предоставил вам проприетарную двоичную библиотеку для программирования, вы должны убедиться, что она скомпилирована для целевой архитектуры (ничего подобного попытке использовать двоичный файл am ARM в системе x86) и что она скомпилирована для Linux.
Как бы то ни было ... Удачи.Я ненавижу программировать на основе сторонних библиотек, где у меня есть документация и источник.
Другие советы
Недавние события, возможно, изменили ситуацию:Существует загружаемая библиотека доступна функция для Linux, которая позволяет загружать библиотеку DLL Windows, а затем вызывать функции внутри.
Итак, если .dll
файл, который у вас есть, на самом деле является Windows DLL, вы можете найти способ использовать его в своем программном обеспечении.
dll-файлы обычно представляют собой общие библиотеки Windows.(Также возможно, что кто-то в Linux создал обычную библиотеку Linux и назвал ее .по какой-то причине dll.)
Возможно, вы могли бы ссылаться на них, используя Вино.Поддержка для этого когда-то была там в качестве экспериментальной - я не знаю ее текущего статуса.
Да , мы можем использовать dll с помощью wine .просто установите wine64 в Linux
sudo apt-get install wine64