gcc -MM

gcc -MM

by Tugdual Marc-Emmanuel Pierre Marie Kerjan -
Number of replies: 1

Bonjour,

Pour le projet de la semaine 2, en effectuant gcc -MM main.c on obtient normalement une list dont depend main.o. Cependant dans la liste des fichiers cg/cg.h n'est pas inclu.

Je ne vois pas pourquoi donc on aurait besoin de la version cg.o lors du linking de main?

Merci beaucoup,

Tugdual

In reply to Tugdual Marc-Emmanuel Pierre Marie Kerjan

Re: gcc -MM

by Jean-Cédric Chappelier -

Vous confondez 2 choses : la compilation et l'édition de liens. Reprenez donc en détails le tuto sur make pour comprendre les concepts clés. Je résume ici :

  • les fichiers .h sont nécessaire à la compilation ; la commande dont vous parlez donne les dépendances pour compiler main.c en main.o ; il n'y a en effet là pas besoin de cg/cg.h
  • les fichiers .o sont mis ensemble pour l'édition de liens = la création du programme complet. Pour le programme complet, cg.o est nécessaire (simplement parce que un autre composant que main.o l'utilise).