Compiler-Einstellung im Code erkennen?

#3621157
Lesenswert?

Ist es möglich, eine eingeschaltete Compiler-Optimierung oder 
Debug-Informationen im C-Präprozessor zu erkennen?

Die Idee ist, abhängig von der Compilereinstellung den C-Code zu 
modifizieren, um z.B. Verzögerungsschleifen zu korrigieren, die sich 
durch Optimierung oder Wegfall von Debug-Infos verändern.
Persönliche Seite #3621172
Lesenswert?

In deinem Ansatz ist der Wurm drin.

Zwar kannst du per #ifdef __OPTIMIZE__ oder #ifdef __OPTIMIZE_SIZE__ 
abtesten, ob Optimierung (auf Größe) aktiviert ist, aber wenn du das 
brauchst, hast du vermutlich einen Denkfehler im Programm.

Erzeugen / Nichterzeugen von Debug-Information wird niemals den von GCC 
erzeugten Code verändern, d.h. -g2, -gdwarf-3, -g0, -gstrict-dwarf etc. 
wirkt sich nicht auf den Code aus -- falls doch, ist es ein Bug im GCC.
Gast #3621385
Lesenswert?

F. P. schrieb:
> Die Idee ist, abhängig von der Compilereinstellung den C-Code zu
> modifizieren, um z.B. Verzögerungsschleifen zu korrigieren
Du willst also, das was die Compiler-Optimierung in deinem Code "kaputt" 
macht, wieder korrigieren...

Das Problem sitzt an einer ganz anderen Stelle, nämlich hier:
F. P. schrieb:
> Verzögerungsschleifen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren