Compiler du C sous Linux/UNIX

Décembre 2016

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.

A voir également :

Ce document intitulé «  Compiler du C sous Linux/UNIX  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.