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...
[Windows] Compiler un projet Qt simplement Voir[Windows] Compiler un projet Qt simplement Cette astuce va vous montrer comment compiler simplement un projet Qt, grâce à un programme et un script batch. 1. La variable Path 1.1 Accéder à cette variable 1.2 Modifier la variable...
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...
Introduction aux systèmes UNIX VoirLe système UNIX Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs...
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...