Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: maumo am 20. May 2006, 13:02

Titel: dynamisches linken
Beitrag von: maumo am 20. May 2006, 13:02
also ich befasse mich zurzeit mit dem dynamischen linken von programmen. ich hab mir mal die einzelnen arbeitsschsritte aufgeschrieben:

1. zuerst das hauptmodul laden.
2 .die globalen symbole in eine liste eintragen
3. die externen symbole in eine andere eintragen.
4. falls externe symbole in der liste:
a. eine benötigte bibliothek laden.
b. die globale symbole der bibliothek in eine liste eintragen,
und falls solch ein symbol in der externen liste ist, dass jeweilige modul das
symbole relocaten lassen.
c. dann die externen symbole der bibliothek in die liste eintragen
d. zu punkt 4 springen

d.h. in der global-liste muss typ und name des symbols stehen
und in der extern-liste muss modul, dass dieses symbol benötigt,
name und typ stehen.

macht ihr das auch in etwa so, oder kennt ihr ne andere (möglicherweise) einfachere methode?

maumo
Titel: dynamisches linken
Beitrag von: maumo am 21. May 2006, 15:20
ok.. also mach ichs richtig^^

kennt ihr ne möglichkeit, eine dll (und die *.lib datei!) zu erstellen? also bei dev-cpp krieg ich immer die meldung: "no export definition file provided. Creating One, but that may not be what you want". ich hab aber export funktionen (mit __decl(dllexport)) definiert.

was muss ich denn noch beachten?
Titel: dynamisches linken
Beitrag von: Jidder am 21. May 2006, 20:58
Dev-C++ hab ich nie genutzt, aber wie man den MinGW dazu bringt dlls zu erstellen, steht hier unter "How to create a dll": http://www.mingw.org/docs.shtml

.lib-Dateien gibt es bei Dev-C++ bzw. MinGW nicht. Die heissen da *.a.