dll-Portierung Linux-->Windows
-
Unix-Tom schrieb:
DLL heißt "Dynamic Link Library" und ist nichts Windowsspezifisches.
Nur das man unter Windows eine DLL besser mit "Die Lass Liegen" bezeichnen sollte
-
versuch doch mal Cygwin zu benutzen
@ChrisM
es gibt auch DLLs unter Linux (siehe dlltool(1))
-
@ChrisM
es gibt auch DLLs unter Linux (siehe dlltool(1))ares# dlltool dlltool: Command not found. ares# whereis dlltool dlltool: ares#
Oder auch nicht
mfg
v R
-
-
Übrigens kommt die Dateiendung *.so von Shared Objects
-
Und shared objects sind keine DLLs! (Anderes Konzept)
PS: Stichwort Modulsystem (wird einigen was sagen *g*)
-
Erklär mal.
-
Was erklären? Den Unterschied? Naja, ich weiß nur, dass in DLLs zu exportierende Symbole in einer Extra-Datei anzugeben sind. Ein shared object ist ein normales Objektdatei, allerdings mit Abhängigkeiten von anderen shared objects. Irgendwie so.
Das Modulsystem? Nööö *g*.
-
Nein, den Unterschied im Konzept. DLL heißt Dynamic Link Library, und soweit ich weiß, tut man genau das auch mit .so.
-
Konzept war wohl eine schlechte Wortwahl...
-
Mr. N schrieb:
Was erklären? Den Unterschied? Naja, ich weiß nur, dass in DLLs zu exportierende Symbole in einer Extra-Datei anzugeben sind. Ein shared object ist ein normales Objektdatei, allerdings mit Abhängigkeiten von anderen shared objects. Irgendwie so.
Das Modulsystem? Nööö *g*.Du schreibst "irgendwie so" aber wiedersprichst das dll keine shared objects sind.
In beiden werden Funktionen exportiert !
In DLL werden die exportierten Funktionen nicht explizit in einer Datei angegeben. Was du meinst sind die *.lib.
*.dll und *.so kann man auch ohne *.lib verwenden.
Soetwas wie .lib gibt es unter Unices auch. (.a, *.o)
Die Dateiendung sagt aber nichts aus da eine *.dll genauso *.xyz sein kann.
Diese werden mit LoadLibrary geladen. (Unices und Windows)
-
Mit der speziellen Datei hab ich die .def gemeint. Und um ohne GetProcAddress auf eine DLL-Funktion zugreifen zu können braucht man doch eine .lib. Die Idee mag die selbe sein. Die Implementation ist dennoch nicht kompatibel (also direkt zu mappen).