71 votes

Définir le drapeau std=c99 dans GCC

Je me demandais s'il existait des fichiers dans lesquels je pouvais définir les paramètres de l'option -std=c99 afin de ne pas avoir à le définir à chaque compilation. J'utilise GCC 4.4 sur Ubuntu.

111voto

Thomas Pornin Points 36984

Au lieu d'appeler /usr/bin/gcc utiliser /usr/bin/c99 . C'est la façon approuvée par Single-Unix d'invoquer un compilateur C99. Sur un système Ubuntu, cela pointe vers un script qui invoque gcc après avoir ajouté le -std=c99 ce qui est précisément ce que vous voulez.

0 votes

Ok, je suis nouveau dans la programmation sous linux (j'apprends à l'université), comment puis-je utiliser /usr/bin/c99 ? J'utilise Vim-Gnome avec le plugin C dans lequel je fais juste ce qui suit \rr à compiler et à exécuter.

2 votes

D'après ce que je trouve sur le Web, il existe une variable globale appelée C_CCompiler qui désigne le compilateur C. Il est normalement réglé sur gcc . Remplacez son contenu par c99 et tout devrait bien se passer. Voir le fichier d'aide sur : lug.fh-swf.de/vim/vim-doc/csupport.html

1 votes

Notez que l'utilisation de c99 sur Mac peut vous donner des résultats surprenants : stackoverflow.com/questions/4182413

18voto

dirkgently Points 56879

Et si alias gcc99= gcc -std=c99 ?

5 votes

+1 C'est ce que je fais. Et pendant que vous y êtes, ajoutez les drapeaux -Wall et -pedantic à l'alias.

5 votes

+1. Voilà à quoi ressemble mon pseudonyme : alias gcc99=gcc -Wall -pedantic -ansi -std=c99 . Oui, avec ansi également.

5 votes

@dirkgently : alors quel standard (s'il y en a un) GCC implémente-t-il avec -std=c99 -ansi ? Vous avez activé C99, puis désactivé tout ce qui n'est pas dans C89, cela donne-t-il le sous-ensemble commun des deux ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X