Commandes de l'éditeur Kate

Résolu/Fermé
F-MATH Messages postés 89 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 11 janvier 2020 - 16 mars 2010 à 22:37
F-MATH Messages postés 89 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 11 janvier 2020 - 22 mars 2010 à 22:50
Bonjour,

Je commence à programmer en C avec l'éditeur Kate et j'ai une question à propos de la commande gcc

J'utilise la commande gcc -ansi -Wall -c xy.c (xy étant le nom du programme) pour compiler le programme.

Ensuite j'utilise la commande gcc xy.o -o xy -lm pour éditer les liens.

Ma question étant quel est le rôle des options de cette commande dans mes 2 cas ?

Même question pour la commande suivante :

gcc -ansi -Wall xy.c -o xy -lm ?

Merci

F-MATH
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
17 mars 2010 à 09:55
Salut,

Les commandes que tu cites n'ont rien à voir avec l'éditeur kate, elles concernent le compilateur gcc.

Extrait du man gcc :

-c
    Compiler ou assembler les fichiers sources, mais ne pas éditer les liens. La sortie du compilateur est un fichier objet correspondant à chaque fichier source. Par défaut, GCC crée le nom du fichier objet à partir d'un fichier source en remplaçant les suffixes '.c', '.i', '.s', etc., par '.o'. Utilisez -o pour sélectionner un autre nom. GCC ignore tous les fichiers d'entrée non reconnus (ceux qui ne requièrent pas de compilation ou d'assemblage) avec l'option -c. 

-o fichier
    Placer la sortie dans le fichier fichier. Cela s'applique quel que soit le type de sortie produit par GCC, que ce soit un fichier exécutable, un fichier objet, un fichier assembleur ou du code C prétraité. Puisqu'un seul fichier de sortie peut être spécifié, cela n'a aucun sens d'utiliser'-o' quand on compile plus d'un fichier d'entrée, à moins que l'on ne veuille produire un fichier exécutable en sortie. Si vous ne spécifiez pas '-o', le comportement par défaut est de produire un fichier exécutable nommé 'a.out', le fichier objet pour 'source.suffixe' dans 'source.o', son fichier assembleur dans 'source.s', et tout le code source C sur la sortie standard.

-ansi
    Supporte tous les programmes C au format standard ANSI. Ceci désactive certaines caractéristiques du C GNU qui sont incompatibles avec le C ANSI, tel que les mots-clés asm, inline et , et les macros prédéfinies telles que unix et vax qui identifient le type de système que vous utilisez. Il active également la caractéristique rarement utilisée et non souhaitable des trigraphes ANSI, et désactive la possibilité d'utiliser '$' dans les identificateurs. Les mots-clés alternatifs __asm__, __extension__, __inline__ et __typeof__ continuent à fonctionner malgré '-ansi'. Vous ne voudriez naturellemnt pas les utiliser dans des programmes C ANSI, mais il est utile de les placer dans des fichiers d'entête qui pourraient être inclus dans des compilations faites avec '-ansi'. Des macros prédéfinies comme __unix__ et __vax__ sont aussi disponibles, avec ou sans '-ansi'. L'option '-ansi' ne pousse pas les programmes non ANSI à être rejetés arbitrairement. Pour cela, '-pedantic' est requis en plus de '-ansi'. Le préprocesseur prédéfinit une macro __STRICT_ANSI__ quand vous utilisez l'option '-ansi'. Certains fichiers d'entête peuvent remarquer cette macro et s'abstenir de déclarer certaines fonctions ou de définir certaines macros que le standard ANSI n'utilise pas, ceci dans le but de ne pas interférer avec un programme pouvant utiliser ces noms pour d'autres choses.

-Wall
    Toutes les options '-W' ci-dessus combinées. Ce sont toutes les options qui se rattachent à l'usage que nous recommandons d'éviter et que nous croyons facile à éviter, même en conjonction avec des macros.
0
F-MATH Messages postés 89 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 11 janvier 2020
22 mars 2010 à 22:50
Salut

Ok merci pour ton aide. Maintenant je chercherais dans l'aide de gcc et pas Kate !

@+

F-MATH
0