Généralités sur la compilation séparée en C.

compilation_separee-1

On m’a demandé de faire quelques articles pour parler des makefiles et de la compilation séparée. Donc celui ci sera le premier. Comme d’habitude, je vais tenter d’être simple et clair, même si on rentre ici dans un domaine un peu plus technique. Cet article s’adresse à tous, mais plus spécifiquement au public qui a déjà commencé à s’initier au C, et qui jusqu’à présent a toujours mis l’intégralité de son code dans un unique fichier .c à compiler en un coup. Nous allons étudier ce qu’est la compilation séparée, à quoi elle sert, comment la mettre en œuvre, et l’explication du joli dessin que vous voyez au dessus. Nous étudierons aussi la réalisation d’un makefile. Par contre je ne peux pas tout traiter en un seul article, donc pour la suite, voir les liens en fin de billet ;).

1) Rappel sur la compilation:

La compilation d’un programme consiste se fait au moyen d’un logiciel appelé compilateur. Elle est nécessaire parce que l’ordinateur ne comprend que le langage machine, soit en gros des lignes de zéros et de uns, tandis que l’être humain préfère codé dans un langage qu’il comprend. Le rôle du compilateur est donc de traduire le langage compréhensible par l’humain (le C) en langage compréhensible par la machine (les lignes de bits).

2) Explication de la compilation séparée

La compilation séparée permet comme son nom l’indique de compiler séparément plusieurs morceaux du programme, au lieu de tout compiler d’un seul bloc comme dans le cas de la compilation simple. Bien sûr, il faut pour cela que le programme ne soit pas écrit d’un bloc, mais qu’il ait été séparé en plusieurs fichiers. Les intérets sont multiples:

  • Gain en lisibilité. On regroupe dans des fichiers séparés les bouts de code qui correspondent à des thèmes/objectifs différents.
  • Gain d’efficacité. Dans les gros projets, il faut parfois 15 min pour tout compiler, donc s’il faut le faire chaque fois qu’on déplace une virgule, on perd vite son temps. Tandis que si on ne recompile que la partie dans laquelle se trouve la modification, le gain de temps est important.
  • Les bouts de code étant séparés par thèmes, leur réutilisation pour des objectifs nouveaux en ne prenant que certains est facilitée, et il n’est pas nécessaire dans un nouveau projet de revenir sur ce qui a déjà été fait.

… Et ce sera tout pour aujourd’hui, car j’ai encore énormément de travail à faire ce soir. La suite? Demain et dans le jours à venir 😉

Edit: liens vers les trois autres articles:

Publicités

2 réflexions au sujet de « Généralités sur la compilation séparée en C. »

  1. Ping : Compilation séparée (2) - Dépendances. « Aldian’s Blog

  2. Ping : Compilation séparée (3) - Fichiers objets et compilation manuelle. « Aldian’s Blog

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s