2013-05-07 5 views
8

Jak korzystaćco jest wykorzystanie "-wa, opcje" w gcc

-wa opcja

w gcc i co wszystkie opcje można przekazać do zakładu montażu. Gdzie mogę uzyskać listę opcji. Co oznacza -Wa, -a, -ad oznacza? znalazłem to here

+0

Jakie jest dokładnie twoje pytanie? –

+0

Jak "człowiek 3 gcc"? –

+0

Chcę wiedzieć, gdzie mogę uzyskać to, co wszystkie prawidłowe opcje można przekazać do asemblera. – user2359003

Odpowiedz

6

Zawsze należy sprawdzić Documentation

-wa, opcja
opcję uchodzić opcja dla montera. Jeśli opcja zawiera przecinki, jest podzielona na wiele opcji za pomocą przecinków.

Więc w twoim przypadku -a i -ad zostały przekazane do asemblera, co ci nie zależy od montera. Gcc nie wie, co zrobić z opcjami asemblera specyficznego dla systemu, więc podanie go przez flagę -Wa pozwala mu przekazać to, co następuje.

Dokumentację można również znaleźć lokalnie, pod numerem man pages. Aby otworzyć dokumentację asemblera GNU, należy wykonać:

$ man 1 as 

Otworzy:

AS(1)      GNU Development Tools      AS(1) 

NAME 
     AS - the portable GNU assembler. 

SYNOPSIS 
     as [-a[cdghlns][=file]] [--alternate] [-D] 
     [--compress-debug-sections] [--nocompress-debug-sections] 
     [--debug-prefix-map old=new] 
     [--defsym sym=val] [-f] [-g] [--gstabs] 
     [--gstabs+] [--gdwarf-2] [--gdwarf-sections] 
     [--help] [-I dir] [-J] 
     [-K] [-L] [--listing-lhs-width=NUM] 
     [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM] 
     [--listing-cont-lines=NUM] [--keep-locals] [-o 
     objfile] [-R] [--reduce-memory-overheads] [--statistics] 
     [-v] [-version] [--version] [-W] [--warn] 
     [--fatal-warnings] [-w] [-x] [-Z] [@FILE] 
     [--size-check=[error|warning]] 
     [--target-help] [target-options] 
     [--|files ...] 
     ... 
+0

Dostałem to i przeszedłem przez człowieka, ale moje pytanie jest specyficzne dla opcji -a i -ad przekazanych do asemblera – user2359003

+0

Przeszedłem ten http://gcc.gnu.org/onlinedocs/gcc/, ale nie ma nic na temat opcji do przekazania – user2359003

+0

@ user2359003 - Gcc jest kompilatorem, generuje pliki zespołów dla twojego systemu i wywołuje "poprawny" asembler. To, co te flagi robią, zależy od twojego systemu/asemblera, to jest informacja, której nie określiłeś, więc obecnie nie można powiedzieć, co robią '-a' i' -ad'. W przypadku aktualizacji można podać więcej szczegółów. – Mike

0

Aby zobaczyć listę opcji dowolnego polecenia w bash, można uruchomić następujące polecenie:

man COMMAND 

W tym przypadku

man gcc 

pokaże, że -Wa,option oznacza:

opcja przekazywania jako opcja dla montera. Jeśli opcja zawiera przecinki, , jest podzielona na wiele opcji za pomocą przecinków.

+0

Mam to i przeszedłem przez człowieka, ale moje pytanie dotyczy tylko opcji -a i -ad przekazanych do asemblera, a nawet Przeszedłem przez to gcc.gnu.org/onlinedocs/gcc, ale nie ma nic na temat opcji należy przekazać – user2359003

2

Ponieważ opcje te są przekazywane do asemblera, trzeba sprawdzić na stronie man as, nie gcc.

-a włącza listę wyników wyjściowych zespołu (zapisaną na standardowym wyjściu), natomiast -ad pomija dyrektywę debugowania z listy wyników.

+0

wielkie dzięki za odpowiedź. – user2359003