Vom Compiler berechnete Variablen ausgeben?

OP #410976
Lesenswert?
• ▲
▼
Wie kann ich Variablen, die während der Compilierung vom Compiler
berechnet werden anzeigen.
Ich bin der Meinung, das ich früher mal eine Anweisung in den Code
geschrieben habe, die mir sowas bei der compilierung auf die
Kommandozeile ausgeben konnte.
irgenwie so...

#define F_CPU = 8000000ul
#define prescaler_timer0   64
#define t0_ints_per_second 1000

OCR0A = F_CPU  prescaler_timer0  t0_ints_per_second;

//echo $$OCR0A ??
#410978
Lesenswert?
• ▲
▼
Bei der Zeile "OCR0A = F_CPU  prescaler_timer0  t0_ints_per_second;"
weist erst der Prozessor der Variablen OCR0A (bzw. diesem SFR) den vom
Compiler berechneten Wert zu, wenn das Programm ausgeführt wird. Man
könnte daran denken zu schreiben (wie Karsten Brandt richtig anmerkte)

#define XXX (F_CPU  prescaler_timer0  t0_ints_per_second)
#warning XXX

aber das funktioniert so nicht, da dabei einfach

warning: #warning xxx

angezeigt wird, d.h. der Wert ist zu diesem Zeitpunkt nicht berechnet.
Offensichtlich wird der Wert auch nicht vom Präprozessor berechnet (der
ja nur diverse Textersetzungen durchführt), sondern erst vom Compiler,
und das kommt wohl zu spät, da die Zeile "#warning XXX" ja eine
Präprozessor-Anweisung ist.

Vielleicht weiß jemand, wie man den Präprozesor dazu bringen kann, den
Wert zu berechnen, oder den Compiler, zu einem späteren Zeitpunkt den
berechneten Wert doch noch auszugeben?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.