Änderung Header -> Auswirkung auf dll ?

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Megadime
Beiträge: 6
Registriert: 28. März 2011 21:59

Änderung Header -> Auswirkung auf dll ?

Beitrag von Megadime »

Hallo,
wenn ich eine dll und den entsprechenden Header einbinde (über den LIBS-Pfad) und dann in diesem Header eine stinknormale Definition einer Konstante (z.B. MSG_CLIENT 0x8000 + 1000) ändere (z.B. zu MSG_CLIENT 0x8000 + 1001), wird der Wert dann wirklich geändert, sobald er in der (alten) dll aufgerufen wird oder wurde dieser Wert beim Kompilieren sozusagen "fest" reingeschrieben? Mit "alt" mein ich, daß die dll mit dem unveränderten Header ausgeliefert wurde und dann nicht nochmal neu kompiliert wurde.
Grüße,
Megadime.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn ich einen C++-Code ändere und ihn nicht kompiliere ändert sich dann an der (nicht nocheinmal) erzeugten .so/.a/.dll/.exe/.. irgendetwas?
Megadime
Beiträge: 6
Registriert: 28. März 2011 21:59

Beitrag von Megadime »

Eben. Das ist ja genau die Frage.

Es ist klar, daß sich die dll nicht ändert, meine Frage war aber, ob der Header die Werte der Konstanten vielleicht zur Laufzeit einsetzt.

Ich nehme an, du willst uns mitteilen, daß sich nichts ändert, d.h. die Werte gleich bleiben bzw. beim Kompilieren "fest" in den dll-Code eingebunden wurden.
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Beitrag von ScyllaIllciz »

Genau so ist es. Wie soll das auch in die DLL/exe kommen, ohne kompilieren?
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

Der Header beschreibt die Funktionen und Variablen (auch Defines), wie sie zum Zeitpunkt der Erstellung der DLL sind.
Änderst Du den Header, bleibt die DLL trotzdem so wie sie damals kompiliert wurde.
Was Du erreichst, ist dass die exe, die mit dem neuen, geänderten Header kompiliert wurde nicht richtig auf die DLL zugreifen kann.
Linux, das längste Text-Adventure aller Zeiten
Antworten