Forum: Compiler & IDEs Frage zur Kompilierung. Code Änderung


von Noob (Gast)


Lesenswert?

Hallo,

habe eine Frage bzgl. der Kompilierung einer Software.
Wenn ich ich einer Quelldatei meines Projektes eine neue Kommentarzeile 
(!) einfüge, ändert sich die Hexdatei die mit einem Kompiliervorgang 
erzeugt wird. Über ein compare habe ich beide verglichen. Es handelt 
sich hierbei nicht um die Uhrzeit, die eventuell einen Einfluß haben 
könnte. Das habe ich bereits getestet und die Datei ändert sich nicht, 
nachdem ich das Projekt einfach nach einer gewissen Zeit noch einmal 
baue. Was könnte der Grund sein, dass bei einem einfachen Kommentar die 
erzeugte Software nicht mehr gleich ist. Eingeschaltete Optimierung, 
andere Compilerflags, ...? Vielleicht kann mir jemand einen Tipp geben. 
Wäre echt super!!!

Gruß Noob

von Karl H. (kbuchegg)


Lesenswert?

Noob schrieb:

> Eingeschaltete Optimierung,

Ja

> andere Compilerflags,

Ja

dann noch:
andere Compilerversion

von Noob (Gast)


Lesenswert?

Da lag ich mit meiner Vermutung richtig. Vielen Dank für deine 
Bestätigung!
Compiler Version hat sich nicht geändert und die Flags auch nicht, kann 
dann nur die Optimierung sein...

Gruß,
Noob

von dito (Gast)


Lesenswert?

Verstehe ich nicht: Wenn die gleiche Optimierung in beiden Fällen 
eingeschaltet ist, wieso sollten sich die Hexdateien unterscheiden?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Weiterer Grund kann die Verwendung von
1
__DATE__
 bzw.
1
__TIME__
 sein.

von Andreas B. (Gast)


Lesenswert?

Stimmt natürlich! Dann gibt es auch noch
1
__LINE__
 falls die Zeile in der es auftaucht durch den eingefügten/weggelassenen 
Kommentar verschoben wird.

Auch wenn es nicht direkt im Code steht,
1
__LINE__
 taucht auch gerne in Debug-Makros auf, vor allem in Definitionen von 
assert().

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.