QCM C et Makefiles

De Ensiwiki
Aller à : navigation, rechercher

1. Un Makefile sert principalement

À décrire comment compiler un projet
À décrire comment exécuter un projet
On peut ceci dit avoir une cible « make run » qui lance l'exécutable.
À faire de la compilation séparée
À faire de l'édition de liens
Le Makefile appelle l'éditeur de liens, mais ce n'est pas lui qui le fait.
À gagner du temps pour recompiler un projet après modification de quelques fichiers sources
Oui, make permet de ne recompiler que ce qui est nécessaire

2. Les fichiers *.h peuvent contenir

Des déclarations extern
C'est leur principal rôle. Pour les fonctions, on peut omettre le mot clé extern.
Le corps des fonctions
En général, il ne faut pas les mettre ici mais dans le fichier .c correspondant, mais pour les fonctions static inline, c'est nécessaire.
Des déclarations du préprocesseur (#define)

3. Une variable globale déclarée static

est visible par tout le programme
Non, au contraire
est visible par le fichier dans lequel elle est déclarée
Et l'intérêt est de ne pas avoir de conflits de noms
doit être déclarée dans le fichier .h
peut être déclarée dans le fichier .h
Justement, l'idée est d'avoir une variable privée, donc de ne pas la montrer aux autres.

4. Pour savoir si un fichier doit être recompilé, make se base sur

Le contenu des fichiers
La date de dernière modification des fichiers
Un fichier plus vieux que ses dépendances doit être reconstruit.
L'existence ou non des fichiers
Un fichier qui n'existe pas doit être reconstruit.

Votre pointage est 0 / 0