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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Florian O. (simuru)


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.:
1
#if (GCC_VER == avr-gcc)
2
cli();
3
#else
4
disable_int_for_architecture_xy();
5
#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/using_tools_1using_avr_gcc_mach_opt.html

"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
von Markus F. (mfro)


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:
1
# 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]
  • [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.
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.

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