2009-11-01 6 views
6

Pouvez-vous me dire quelles sont les __DEFAULT__, compiler options implicite cl.exe et link.exe lors de la compilation de la ligne de commande, comme:Visual C++ options par défaut du compilateur

cl whatever.c 

Merci!

mise à jour: Pour clarifier: Je ne suis pas intéressé par les options de ligne de commande disponibles, je les ai même liées à partir de la question. Ce que je demande est une liste d'options de ligne de commande par défaut implicites utilisées lorsque vous spécifiez none et que vous compilez à partir de la ligne de commande.

+0

Hypothèse: le comportement par défaut ne correspond pas toujours à une option de ligne de commande. Par exemple. le comportement par défaut "désactiver l'analyse de code" n'a pas d'option de ligne de commande; la seule option de ligne de commande est '/ analyze' (Activer l'analyse de code) – MSalters

+0

@MSalters Pouvez-vous donner un autre exemple? Celui que vous avez décrit peut être réalisé en passant '/ analyze-' (voir [ici] (http://msdn.microsoft.com/fr-fr/library/ms173498.aspx)). – JBentley

+0

@JBentley: C'était littéralement le premier que j'ai trouvé par ordre alphabétique (probablement VS2008 alors). Il y a encore de tels drapeaux, par ex. '/ GF'. – MSalters

Répondre

0

Vérifiez cl /? sur link /? à la ligne de commande. Je crois que les défauts diffèrent pour chaque version.

+0

Ceci liste uniquement les options du compilateur disponibles, pas les options par défaut du compilateur. – user200557

+0

Hmm ... J'aurais juré que la description mentionnait les valeurs par défaut. Je n'ai pas de boîte Windows ici, donc je ne peux pas vérifier maintenant. –

1

Je recherche toujours simplement "cl options".
Ceci est le hit actuel: Compiler Command-Line Syntax (C++) [MSDN]

Comme d'habitude pour la documentation Microsoft, c'est un peu hasardeux, mais il semble être complet. Lorsqu'une option est le paramètre par défaut, cela est noté (pas de façon cohérente, cependant.)

+1

Pourquoi les utilisateurs ne peuvent-ils pas faire la différence entre "options de ligne de commande disponibles" et "options de ligne de commande par défaut"? Voir, lorsque vous compilez un fichier .c sans spécifier les options du compilateur, certains d'entre eux seront activés par défaut, implicitement. – user200557

+0

Ma réponse a abordé ce problème, donc c'est peut-être vous qui manque de compréhension en lecture. –

4

Il ne semble pas y avoir beaucoup d'informations sur les défauts réels sur les sites Web de Microsoft, mais Geoff Chappell semble avoir fait quelques recherche sur ce sujet. Voici le lien:

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

Comme nous savons tous ce que dit la documentation, et ce que le logiciel ne fait, sont deux choses différentes.

Pour plus répondre à la question, vous pouvez voir quelles options cl passe aux modules compilateur C1xx.dll et C2.dll en passant l'option à cl/Bd:

cl /Bd helloworld.cpp 

Pour voir les variables d'environnement le compilateur et l'éditeur de liens utilisent le type:

cl /Be helloworld.cpp 
Questions connexes