Was bedeutet _GNU_ASSEMBLER_ ?

Gast #1208650
Lesenswert?
• ▲
▼
Hallo Leute,

ich beschäftige mich gerade mit gcc und MSP430 und bin im Netz und in 
diversen Makefiles auf "-D_GNU_ASSEMBLER_" gestoßen.

Z.b.

msp430-gcc -x assembler-with-cpp -D_GNU_ASSEMBLER_ -mmcu=msp430x1121 -c 
file.s -o file.o

Mir ist klar, das es sich hier expliziet um "_GNU_ASSEMBLER_" handelt, 
selbst dazu gibts keine Beschreibung im GCC. Weiss jemand, was diese 
Anweisung bedeutet bzw. wo ich was drüber lesen kann?
Gast #1208699
Lesenswert?
• ▲
▼
eben nicht, da taucht nix auf. Das sieht so aus, als würde man das 
"-D_GNU_ASSEMBLER_" provesorisch einfügen, nach dem Motto "sicher ist 
sicher". Ich würde aber erstmal wissen, was der Ausdruck bewirkt.
Persönliche Seite #1208726
Lesenswert?
• ▲
▼
andi wrote:
> eben nicht, da taucht nix auf. Das sieht so aus, als würde man das
> "-D_GNU_ASSEMBLER_" provesorisch einfügen, nach dem Motto "sicher ist
> sicher". Ich würde aber erstmal wissen, was der Ausdruck bewirkt.

-D findest du in der gcc-Doku.
   http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Preprocessor-Options.html#Preprocessor-Options

 Es Definiert das Makro GNU_ASSEMBLER, d.h. es kann mit
1
#ifdef _GNU_ASSEMBLER_
2
// resp.
3
#if defined (_GNU_ASSEMBLER_)
abgetestet werden.

foo-gcc delegiert .s-Dateien automatisch an den Assembler (foo-as), die 
Dateien werden allerdings nicht präprzessiert.
   http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Overall-Options.html#Overall-Options
 Präprozesst werden nur .S Dateien, was aber je nach OS Verwirrung wegen 
Groß/Kleinschreibung gibt.

Mit -x kann man explizit angeben, wie eine Datei zu handhaben ist. Man 
kann damit auch eine C++ Datei .text nennen oder eine Assembler-Datei 
.c++; oder eben eine Assebler-Datei, wo erst der Präprozessor drüber 
soll, nach -x assembler-with-cpp (cpp="C pre processor", nicht "C++" 
;-)) angeben.

Johann

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.