// Vous lisez...

Les bases du langage C

avant de commencer

La compilation d’un programme en langage C sous Linux

vous avez dit gcc ?

  • Compiler, sous Linux, un simple programme (monilitique) en langage C

    Un programme monolitique est un programme qui est entièrement contenu dans un seul fichier.

    C’est le cas de tous les petits programmmes donnés en exemple dans les bases du langage C, et dans le tutoriel langage C.

    Dans ce cas, la compilation est très simple, dans un terminal, positionnez vous dans le répertoire qui contient votre source C et tapez la commande suivante ( en partant du principe que votre fichier s’appele programme.c ) :

    Si le compilateur trouve des erreurs de syntaxe dans votre programme, il vous le dira. . .

    Si il n’y a pas d’erreurs de syntaxe dans votre programme, le repertoire contiendra alors un fichier programme.exe, qu’il vous suffira d’executer en tapant :

    A noter :

    L’option ’-o’ de la commande cc permets de spécifier le nom de l’exécutable qui sera créé.

    Cette option n’est pas obligatoire, si elle n’est pas spécifiée, l’exécutable créé sera appelé par défaut ’a.out’

    L’extension ’.exe’ n’est pas non plus obligatoire sous GNU/Linux ; elle est seulement pratique pour voir rapidement dans un repertoire, quels sont les fichiers binaires ( exécutables ).

    Ainsi vous auriez aussi bien pu taper :

    ou bien :

  • Compiler, sous Linux, un programme ’multi-fichiers’ en langage C :

    Un programme ’multi-fichiers’ est un programme dont le source est éparpillé entre plusieurs fichiers source C.

    Ceci est tres utile, dès que vous commencez a faire de gros programmes, qui vont contenir plusieurs millers de lignes de code.

    En effet, si on se retrouve avec 10000 lignes de code ( ce qui fait un programme moyen ) dans un seul fichier source, il est tres difficile de lire et de comprendre le source.

    De plus, il est tres utile de regrouper dans un fichier source C, toutes les fonctions qui ont un point commun.

    Il est alors d’usage de séparer le code dans plusieurs fichiers.

    Par exemple :

    Nous disposons des fichiers sources suivants :

    A noter :

    Le fichier programme.h devra contenir les prototypes de toutes les fonctions qui seront utilisées dans les différents fichiers *.c.

    De plus, chaque fichier *.c contiendra, au debut, une ligne :

    Ceci est necessaire pour que le compilateur puisse vérifier que l’appel, dans interface.c, d’une fonction qui se trouve dans support.c, est correct.

    Pour compiler tous ces sources C, et créer un seul executable, dans un terminal, positionnez vous dans le répertoire qui contient vos sources C et tapez la commande suivante :

    Si le compilateur trouve des erreurs de syntaxe dans votre programme, il vous le dira, c’est l’un des avantages d’utiliser Linux, le systeme ( ici le compilateur =|- vous parle, et tout est plus facile.

    Si il n’y a pas d’erreurs de syntaxe dans votre programme, le repertoire contiendra alors un fichier programme.exe, qu’il vous suffira d’executer en tapant :

    A noter :

    Il ne faut pas mettre le fichier programme.h dans la ligne de compilation, car ce fichier est d’ores et déjà inclus dans les fichiers *.c, grace a la ligne :

Commentaires