Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » statisch linken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
29.07.2004, 00:26 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


was muss ich machen damit ich verwendete libs statisch linken kann. wo stell ich das ein... für die mfc libs gibts ja extra die combobox use mfc in a static library aber wie muss ichs anstellen wenn ich eine andere lib verwende das er mir die benötigen inhalte aus den dlls an die exe ranhängt...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.07.2004, 08:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das geht nicht wenn du keine statische version der library hast (also eine version wo nur die lib gibt welche alle funktionen/daten enthält) nachträglich lässt sich der inhalt einer dll nicht mehr statisch linken
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.07.2004, 14:19 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


bist du dir sicher das es da keine wege und möglichkeiten gibt?
im prinzip müsste man doch nur die erforderlichen binaries an die exe mit ranhängen... und für sowas gibt es keine mittel und wege... bin ja schwer enttäuscht. warum soll das nicht gehn kann mir das mal einer erklären
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.07.2004, 14:42 Uhr
virtual
Sexiest Bit alive
(Operator)


Wenn ichs richtig verstehe, dann hast Du die Vortellung, daß beim Statischen Linken die DLL genommen wird und die Teile der DLL genommen werden, die notwendig sind und in das exe rein getan werden? - Nee, so ist das nicht!

Eine statische Lib ist erstmal nichts anderes als eine einfache Ansammlung von .obj Dateien. Mit der LIB.EXE kann man diese obj Dateien sich anzeigen lassen und/oder wieder extrahieren. Statische Libraries sind daher eigentlich nur Shortcuts, die es erlauben eine liste von .obj Dateien zusammenzufassen.

Bei einer DLL fehlt diese Aufteilung in einzelne Teile völlig, sie ist ein Monlith.


Es ist außerdem erhähte vorsicht angebracht, wenn Du statische und dynamische Libs paralell verwendest. Wenn Du zB zwei DLLs hast, die auf einer statischen Library aufbauen bzw. diese nutzen, ist der Ärder in der Regel vorprogrammiert.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.07.2004, 15:02 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hmm ok dann muss ich wohl damit leben...

wie muss man es denn anstellen das z.b. nur das fehlen einer betimmten dll angemeckert wird, wenn sie bzw. funktion aus ihr auch verwendet werden...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.07.2004, 15:17 Uhr
virtual
Sexiest Bit alive
(Operator)


Das geht doch IMHO automatisch!?
Wenn Du ein Programm hast, zu der eine DLL fehlt, kommt doch so ne Messagebox hoch?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.07.2004, 15:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hab mich wohl wieder unklar ausgedrückt
ja ich will ja das die messagebox nur kommt von ich im programm expliziet etwas nutze was die dll erforderlich macht...
der läd beim programmstart die dlls auch wenn es unter umständen gar nicht nötig ist...

es gibt doch auch so proggies die z.b. renderer oder mp3-codecs verwenden, die mir ein austauschen der dlls für diese algos während des programmablaufs erlauben (so die schnittstellt gleich ist), das heisst es muss doch möglich sein eine dll nachträglich zu laden erst nachdem die application gestartet wurde...
dann muss es doch auch möglich sein ihn dazu zu bringen können das er die dll beim programmstart nur läd wenn sie auch expliziet angesprochen wird
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
29.07.2004, 15:36 Uhr
Spacelord
Hoffnungsloser Fall


Du kannst Funktionspointertypen definieren und mit LoadLibrary und GetProcAdress den gewünschten Funktionspointern "Inhalt" geben.Dann brauchst du keinen Header,sodass der Linker die Verweise auf die Funktionsprototypen der Dll nicht auflöst.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 29.07.2004 um 15:36 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.07.2004, 15:46 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Spacy
hast du da zufällig ein codebeispiel für mich auf der pfanne?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.07.2004, 15:57 Uhr
Spacelord
Hoffnungsloser Fall


Yo,
www.fun-soft.de/showtopic.php?threadid=7617&time=1091109201

da schau dir mal Post 8 an.
Damit würde die Funktion ReadDirectoryChangesW benutzt ohne dass die dll implizit am Programmstart geladen werden müsste(Ist in diesem Fall kernel32 und wird ohnehin geladen,aber vom Prinzip her )

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: