mikrocontroller.net

Forum: Compiler & IDEs [gelöst] CPU Architektur im Präprozessor erkennen


Autor: Florian O. (simuru)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum.

Ich suche eine Möglichkeit festzustellen ob ich den Code grade für 
meinen Rechner (Host, X86 oder x64_X86) oder einen beliebigen Embedded 
Prozessor kompiliere.

Meine Hoffnung ist dass der GCC ein Define setzt wie z.B.:
#if (GCC_VER == avr-gcc)
cli();
#else
disable_int_for_architecture_xy();
#endif

Gibt es ein ein Define welches der GCC automatisch setzt? Scheinbar habe 
ich nicht das passende ge-guurgelt.

[edit:]
Manchmal ist man einfach zu doof es zu finden... Für alle die das 
gleiche mal suchen:

http://www.atmel.com/webdoc/AVRLibcReferenceManual...

"In addition to the preprocessor macros indicated in the tables below, 
the preprocessor will define the macros __AVR and __AVR__ (to the 
value 1) when compiling for an AVR target."

: Bearbeitet durch User
Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
manchmal ist es nützlich zu wissen, welche Defines der Präprozessor "von 
sich aus" setzt. Glücklicherweise gibt's auch dafür beim gcc eine 
passende Option:
# cpp -dM </dev/null

gibt dir die entsprechende Liste aus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.