Compiler du C sous Linux/UNIX

Dernière mise à jour le 3 novembre 2009 à 16:24 par marlalapocket
Publié par dohm
Sous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc).



gcc


Tout d'abord, il faut savoir ce que signifie l'abréviation GCC: GNU Compiler Collection. En fait, il est le compilateur créé par le projet GNU. Il s'agit d'une collection de logiciels libres intégrés capables de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran.
GCC est utilisé pour le développement de la plupart des logiciels libres. Le noyau Linux dépend notamment étroitement des fonctionnalités de GCC.
En pratique, l'abréviation GCC est utilisée pour nommer trois entités légèrement différentes :

1. la collection complète de compilateurs ;
2. la partie commune à tous les compilateurs ;
3. le compilateur C lui-même.

Pour faire référence précisément aux compilateurs de chaque langage, on parle de :
  • GCC pour C ;
  • G++ pour C++ ;
  • GCJ pour Java ;
  • GNAT pour Ada ;
  • Gfortran pour Fortran ;
  • GPC pour le Pascal;
  • GHDL pour le VHDL.


GCC dispose également d'un outil de débuggage, GNU Debugger (gdb). Bien que ne faisant pas partie de GCC, Valgrind est cependant préféré pour des tests plus en profondeurs, notamment pour rechercher les fuites de mémoire.

Syntaxe de GCC


Je voudrais donner ici les deux principales commandes de GCC pour le c, après je vous renvoie à
man gcc
;-)

$ gcc masource.c # crée un exécutable du nom de a.out, que l'on lancera avec ./a.out.

$ gcc -o <nom_du_programme_que_l'on_souhaite_donner> -c <masource>.c # L'argument -o vous permet de choisir le nom de l'exécutable qui naîtra de cette compilation.
Meilleures réponses pour « Compiler du C sous Linux/UNIX » dans :
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Compiler un programme en C avec Dev C++ sous Vista VoirIl est très probable que vous ayez des problèmes lors de la compilation d'une source C sous Vista avec Dev C++. Solution rapide de secours: le compilateur g++ Voici une astuce pour Dev-Cpp : Aller dans "Outils" -> "Options du compilateur" puis...
Télécharger Unison VoirUnison est un logiciel de synchronisation de répertoires. Il est capable de travailler de manière bidirectionnelle, c'est à dire que vous pouvez effectuer des modifications dans les deux répertoires, et Unison les synchronisation...
Linux - Compilation du noyau (Kernel) VoirCompilation du Kernel Cet article a pour but de présenter la compilation du noyau (ou kernel) sous Linux. Les explications suivantes sont basées sur la version 2.4.20 du kernel, la dernière en date au moment de l'écriture de l'article (mars...
Programmation réseau - Les sockets VoirIntroduction aux sockets La notion de sockets a été introduite dans les distributions de Berkeley (un fameux système de type UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code), c'est la raison pour laquelle on parle...
UNIX - Les fichiers VoirIntroduction aux fichiers Unix Sous les systèmes UNIX tout élément est représenté sous forme de fichier. L'ensemble des fichiers est architecturé autour d'une unique arborescence dont la base, appelée racine, est notée «/». Types de...