Mini-cours de C

Partie I

Avant de commencer à coder en C, il faut installer des trois outils regroupés dans un gros logiciel.

Le compilateur

Théoriquement, tout code source peut être codé avec un simple éditeur de texte. Mais, ici, ce n'est plus un logiciel - tel qu'un navigateur web - qui va "interpréter" notre code (lisible par un humain), mais le système d'exploitation ...

Le système d'exploitation, appelé en anglais OS (Operating System), est ce qui alloue de la mémoire aux logiciels. C'est aussi lui qui permet d'arrêter (brutalement) un logiciel (que l'utilisateur n'arrive plus à arrêter. Par exemple, à cause d'une boucle infinie)

Tout logiciel ne communique avec l'OS qu'avec le même langage. En binaire, ...

Sur un même ordinateur, ayant donc le même processeur, on peut installer plusieurs systèmes d'exploitation. Mais, un logiciel qui fonctionne "sous Windows" ne fonctionnera pas "sous Linux". Un logiciel ne communique pas directement avec le processeur. Il demande au système d'exploitation l'autorisation de démarrer ( = de la place en mémoire).

Puisque nos instructions ne sont plus envoyées à un logiciel, mais au processeur ( sous le contrôle de l'OS qui lui attribue un numéro d'autorisation de communication avec le processeur, appelé PID), nous devrions les écrire en binaire ...

Le rôle du compilateur est d'interpréter notre code source (compréhensible pour un humain) pour le traduire en binaire (des instructions Assembleur).

Pour notre confort, nous allons installer un logiciel qui permet de créer des logiciels.

Comparaison. Si un logiciel est comme une automobile (un outil qu'on pilote), alors, le logiciel qui permet de créer des logiciels est comme une usine ... Le poids d'une auto et d'une usine n'est pas le même !

Certaines "usines" pèsent plusieurs Go !

L'usine gratuite de Microsoft est 30 fois plus lourde que celle que nous allons installer, soit environ 6,57 Go. Pour s'initier au C, c'est beaucoup trop lourd.

L'usine que nous allons installer ne pèse que 250 Mo. Parmi les autres avantages, elle est gratuite (et sera réutilisée lors du mini-cours sur le C++)

Ces "usines" qui sont appelées, en informatique, des IDE (Integrated Development Environment), regroupent trois outils : un éditeur de texte (de code), un compilateur et un debbuger.

On doit, au minimum, utiliser un éditeur (pour écrire le code source) et un compilateur (pour créer le logiciel).

L'outil principal est le compilateur. Un compilateur est une "boîte noire". Vous envoyez vos instructions au compilateur qui vous créera un magnifique programme ou rien du tout ! Cela passe ou cela casse !

Et avant de réussir à créer un programme digne de ce nom, cela casse beaucoup ! Il est donc très utile de savoir pourquoi la compilation n'a pas abouti, et notamment quelle ligne de code est fautive. Nous aider à trouver les erreurs est le rôle du debbuger.

Un des plus petits compilateurs fonctionnant sous Windows (et Linux) est Tiny C Compiler. Il pèse moins de 2 Mo s'intègre parfaitement à CodeBlocks et crée des exécutables 64 bits ! Mais, il a les défauts de sa qualité. Il ne peut pas être ultra-léger et, en plus, "corriger" vos erreurs. Ici, plus que jamais, votre code doit être parfait.

Code Blocks

A lui seul, le compilateur GNU GCC Compiler représente environ pèse 170 Mo (car il dispose de plus de 1500 options de compilation relatives aux normes du langage, aux warnings, aux optimisations et aux types de processeurs).

Sous windows, ce compilateur est appelé mingw et ne génère que des EXE 32 bits.

Sous Linux, ce compilateur est appelé g++ et peut générer des exécutables 64 bits.

Si, sous windows, vous souhaitez créer des EXE 64 bits, je vous conseille d'ajouter le compilateur Tiny C Compiler (voir ci-dessous)

Sachez qu'il est possible de n'installer que l'éditeur Code Blocks (qui pèse moins de 40 Mo) et ensuite Tiny C Compiler.

Sachez enfin que pour créer un exécutable depuis le code-source fourni par un autre, vous pouvez vous passer d'un éditeur. Il vous suffit d'envoyer ces fichiers (.c) au compilateur via des commandes tapées dans la console. Par exemple, avec le compilateur Tiny C Compiler :

tcc -o monProgramme.exe monCodeSource.c

Vous pouvez aussi taper votre code-source avec un simple éditeur de texte, tel que NotePad++. La seule chose indispensable pour créer un exécutable est le compilateur. Et, les compilateurs C peuvent être gratuits, très légers, fonctionner sous Linux, Windows, Mac, ... et créer des exe 64 bits.

Par exemple, tcc-0.9.27-win64-bin.zip ne pèse que 478 Ko.
Et, moins de 2 Mo une fois dézippé.

Toutefois, pour créer son code-source un éditeur dédié au C/C++ et un compilateur ayant de nombreuses options vous fourniront une aide appréciable.

Téléchargement

Petite vidéo sur le téléchargement et l'installation

Sur le site codeblocks.org, dans la section "download", nous choisissons les "binary release" (versions binaires, c-à-d compilées), correspondant à notre plateforme (Windows 10). En aôut 2018, les versions disponibles sont les "codeblocks-17.12", soit celles compilées en décembre 2017.

Choisissez de télécharger la version "codeblocks-17.12mingw-setup.exe", car elle contient le compilateur (GCC 5.1.0 supportant le C89, C99 et C11) et l'installateur (setup).

Le fichier téléchargé pèse 90.337.727 octets, analysé avec l'antivirus Windows Defender => 37.198 fichiers analysés. Une fois installé (full install), 253,4 Mo sont utilisés sur le disque dur.

Installation

Pour l'installer, double-cliquez sur le fichier téléchargé et suivez les instructions



L'installation minimale pèse 212,0 Mo.
Le débutant, ignorant l'intérêt des plugs-in, les installe donc tous.


Même si votre OS est "64 bits", le compilateur ne permettra de créer que des exécutables "32 bits". Rassurez-vous, les programmes "32 bits" fonctionneront très bien sur un OS "64 bits". Simplement, lors de l'exécution de ces programmes, seule la moitié de la puissance de votre processeur sera utilisée.





Après installation, on constate les caractéristiques du nouveau dossier :

NB : Perso, je n'ai pas installé tous les plugs-in.

Pour lancer ce logiciel, on lance : "C:\Program Files (x86)\CodeBlocks\codeblocks.exe"


Au premier lancement, le logiciel détecte tous les compilateurs présents sur votre disque dur qui lui sont compatibles.

Ici, il n'en existe qu'un. Sélectionnez "GNU GCC compiler", puis validez en cliquant sur "OK".

Vous pourrez ajouter d'autres compilateurs ultérieurement.


Ensuite, associer les fichiers C/C++ avec le logiciel Code::Blocks


Après chaque lancement du logiciel, apparaît :

Écran d'accueil

Pour tester l'installation et vérifier que le compilateur fonctionne bien, nous allons directement créer une "application console". Aucune ligne de code ne devra être tapée, car le logiciel écrira le code source pour nous ! Sympa, non ?

Ce code source est celui nécessaire pour afficher à l'écran : "Hello world!"

Pour créer un nouveau logiciel, nous devons créer un nouveau projet. S'affiche tous les types de projets réalisables.

Choisissez "Console application", puis cliquez sur "Go".

S'affiche un assistant :

L'intérêt est assez limité car il vous rappelle que vous allez créer "a new console application". Vous pouvez cocher pour qu'il ne vous le rappelle plus la fois prochaine.


Remarquez qu'avec ce logiciel vous pouvez aussi coder en C++


Ne complétez que les deux premiers champs. Les deux autres se compléteront automatiquement. Choisissez un nom de projet. Par exemple, test1. Et, choisissez un dossier existant (ou créer un nouveau dossier).

Il est recommandé de ne pas stocker vos données dans le lecteur C: (qui doit être réservé qu'aux programmes)


En tant que débutant, n'essayez pas de comprendre, cliquez sur "Finish"


Dans la zone de gauche de la fenêtre qui s'ouvre s'affiche "+" face à "Sources" (sous "test1"). Cliquez sur ce "+" pour développer. S'affiche maintenant "main.c". Double-cliquez sur ce nom pour voir le contenu du fichier (le code source). Vous constatez que Code::Blocks a déjà écrit quelques lignes, le code nécessaire pour afficher "Hello World!".

Puisque le code est écrit, il ne vous reste plus qu'à créer votre premier logiciel et le lancer, en cliquant sur la touche F9 de votre clavier.

Voilà ! Votre premier logiciel - test1.exe - a été créé et lancé. Il affiche bien : "Hello World!"

Sont aussi affichés la valeur de retour ("0"), le temps d'exécution et une ligne vous invitant à taper sur n'importe quelle touche pour fermer le programme. Pour votre confort, Code::Block a ajouté des instructions pour vous permettre de voir le résultat, l'affichage de "Hello World!". En effet, dans le code-source, il n'existe pas d'instruction d'arrêt ...

Votre premier logiciel - test1.exe - se trouve dans le dossier "D:\monDossier\test1\bin\Debug". Double-cliquez sur test1.exe pour observer le résultat. Vous ne verrez rien ! Car cela s'est affiché trop vite. Un programme s'arrête après l'exécution de la dernière instruction. Le programme a fait exactement ce qu'on lui a demandé. Il a affiché "Hello World!", puis après avoir exécuté la dernière instruction, il s'est arrêté.

Même si votre premier .exe ne fait rien d'extraordinaire, il existe. Donc, Code::Block fonctionne. Il a bien créé un programme. Son installation est réussie.

Personnalisation

Pour protéger vos yeux, nous allons personnaliser le logiciel pour qu'il vous permette de choisir vos couleurs lors de l'édition du code source.

Constatez que, par défaut, dans la liste déroulante "Colour theme", vous ne pouvez choisir d'un seul thème. Bref, vous n'avez pas le choix. Cette liste déroulante se trouve dans le menu "Settings" > "Editor..." > dans la zone de gauche, sélectionnez " Syntax Hightlighting".

Voici la procédure pour avoir le choix.

  1. Assurez-vous que Code::Blocks est fermé (qu'il n'est pas en cours, fermez le si nécessaire)
  2. Allez dans le dossier C:\Users\xxx\AppData\Roaming\CodeBlocks (où xxx est le nom de l'utilisateur windows)
  3. Faites une copie (de sécurité) du fichier "default.conf" (Par exemple, "default_original.conf")
  4. Téléchargez ce fichier XML (=> clic droit > enregistrer le lien sous ...), puis ouvrez-le avec NotePad++
  5. Ouvrez le fichier "default.conf" avec NotPad++
  6. Dans "default.conf", remplacez le contenu situé entre les deux balises <colour_sets> ... </colour_sets> par le contenu du fichier téléchargé
  7. Enregistrez la modification, puis lancez Code::Blocks

Dans le menu "Settings" > "Editor..." > dans la zone de gauche, sélectionnez " Syntax Hightlighting", puis, à droite, via la liste déroulante "Colour theme", choisissez le thème qui vous convient.

Voir aussi : http://wiki.codeblocks.org/index.php/Syntax_highlighting_custom_colour_themes

Tiny C Compiler

Procédure pour intégrer ce compilateur à CodeBlocks :

Avec ce compilateur peut s'afficher le message suivant :

Pas de panique ! Vos .exe fonctionneront très bien.