Gestion du code source

Pour avoir un programme gérable et maintenable, il faut le scinder en unités fonctionnelles chaque unité ayant son propre code.

Pour illustrer cette partie, nous allons utiliser l'exemple de conversion des degrés en supposant que l'on ait le programme suivant, nommé degres.c :

#include <stdio.h>

double fahrenheit(int celcius) {
  return (celcius * 9.0/5) + 32;
}

int kelvin(int celcius) {
  return celcius + 273;
}

int main() {

printf("%3.2f \n", fahrenheit(37));
printf("%i \n", kelvin(37));

}

On a rajouté un format particulier pour les réels, en ajoutant le nombre de chiffres maximum avant et après la virgule.

Compilation séparée

Il n'est pas bon d'avoir des fichiers de code trop gros, car :

On a donc l'habitude de découper le code en unités fonctionnelles, compilées séparément en objet, puis assembler à la fin du processus de compilation. Ceci permet de ne compiler que le code ayant changé.

Gestion du build

S'il est tout à fait possible de faire toute la compilation à la main lorsque l'on a 1 ou 2 fichiers, le process devient vite compliquer à gérer s'il on a plusieurs dizaine, voir plusieurs centaines de fichier à compiler. Il existe plusieurs utilitaire permettant d'automatiser le processus de compilation, nous allons montrer le plus simple : la commande make et son fichier de configuration Makefile.