Frage: Ist es möglich, ein Programm unter Linux mit einer DLL-Datei zu kompilieren?Möglich, eine .dll unter Linux zu verwenden
Wo dies wird: Diese DLL wird eine PHP-Erweiterung zu einem gewissen proprietären Software von einem Dritten schreiben verwendet werden.
Hintergrund und Forschung:
Ich habe proprietary.lib
eine Bibliothek mit dem Namen gegeben. Ich war neugierig, wie ich sie noch nie die .lib
Erweiterung gesehen haben, so dass ich getippt:
file proprietary.lib
Der Ausgang war:
proprietary.lib: current ar archive
ich tat etwas Forschung und fand, dass ar
ist mehr oder weniger tar
(und in der Tat, ich denke tar
hat seit ar
in den meisten * nix Umgebungen ersetzt).
Als ich die Manpage ar
inspizierte, sah ich die t option
, die eine Tabelle mit den Inhalten dieses Archivs anzeigt. Cool. So Typ I:
ar t proprietary.lib
Und erhalten:
proprietary.dll
proprietary.dll
... (snip X lines) ...
UNIX verwendet keine DLLs. In Linux ist das entsprechende Dateiformat "so" (shared objects) und in Mac OS X ist es "dylib" (dynamische Bibliotheken) und "bundle". – kennytm
Sie sehen, das ist, wo die Verwirrung hereinkommt. Von scouring comp.lang.c, scheint es, dass "DLL" ist ein allgemeiner Begriff für eine Bibliothek, die gerade so der Name ist, den Windows dafür verwendet. Ist es so einfach, diese Bibliothek in das ELF-Format neu zu kompilieren? –
Ja, es ist so einfach. Sie sind dem Verkäufer dieser Bibliothek verpflichtet, um Ihnen einen korrekten Build zu beschaffen. – Broam