2009-11-01 17 views
6

mi puoi dire quali sono le __default__, implicita compiler options per cl.exe e per LINK.EXE durante la compilazione dalla riga di comando, come:Visual C++ opzioni di default del compilatore

cl whatever.c 

Grazie!

aggiornamento: Per chiarire: non sono interesato nelle opzioni della riga di comando disponibili, ho anche collegato loro dalla domanda. Quello che sto chiedendo è un elenco di opzioni di riga di comando implicite e predefinite utilizzate quando non ne specificate nessuna e non compile dalla riga di comando.

+0

Avviso di assunzione: il comportamento predefinito non corrisponde sempre a un'opzione della riga di comando. Per esempio. il comportamento predefinito "disabilita l'analisi del codice" non ha l'opzione della riga di comando; l'unica opzione da riga di comando è '/ analyze' (Abilita analisi del codice) – MSalters

+0

@MSalters Puoi fornire un esempio alternativo? Quello che hai descritto può essere ottenuto passando '/ analyze-' (vedi [qui] (http://msdn.microsoft.com/en-us/library/ms173498.aspx)). – JBentley

+0

@JBentley: è stato letteralmente il primo che ho trovato in ordine alfabetico (probabilmente VS2008 quindi). Ci sono ancora tali bandiere, ad es. '/ GF'. – MSalters

risposta

0

Controllare cl /? su link /? alla riga di comando. Credo che le impostazioni predefinite differiscano per ogni versione.

+0

Elenca solo le opzioni del compilatore disponibili, non le opzioni del compilatore di default. – user200557

+0

Hmm ... Avrei potuto giurare che la descrizione menzionava i valori predefiniti. Non ho una scatola di Windows qui, quindi non posso controllare adesso. –

1

Ho sempre cercato su google "opzioni cl".
Questo è il massimo successo attuale: Compiler Command-Line Syntax (C++) [MSDN]

Come al solito per la documentazione Microsoft, è un po 'casuale, ma sembra essere completo. Quando un'opzione è l'impostazione predefinita, ciò viene notato (non in modo coerente, però.)

+1

Perché le persone non possono distinguere tra "opzioni della riga di comando disponibili" e "opzioni della riga di comando predefinite"? Vedi, quando compili un file .c senza specificare le opzioni del compilatore, alcuni di loro saranno attivati ​​di default, implicitamente. – user200557

+0

La mia risposta ha risolto il problema, quindi forse sei tu a cui manca la comprensione della lettura. –

4

Non sembrano esserci molte informazioni sulle impostazioni predefinite effettive sui siti Web Microsoft, tuttavia Geoff Chappell sembra aver eseguito alcune ricerca su questo argomento. Ecco il link:

http://www.geoffchappell.com/viewer.htm?doc=studies/msvc/cl/cl/initial.htm&tx=27

Come tutti sappiamo quello che dice la documentazione, e ciò che in realtà fa il software, sono due cose diverse.

Per rispondere ulteriormente la domanda, è possibile vedere quali opzioni cl passa al compilatore moduli C1xx.dll e C2.dll passando l'opzione/Bd a CL:

cl /Bd helloworld.cpp 

Per visualizzare le variabili d'ambiente che il compilatore e il linker utilizzano il tipo:

cl /Be helloworld.cpp 
Problemi correlati