Je parlais de make. Make ne sait pas ce qu'est un fichier C++. Il sait simplement qu'un .C va être compilé en .o
C'est également n'importe quoi. make sait simplement qu'un fichier dépend d'autres fichiers, et dispose d'une commande shell pour recréer le fichier si une des dépendances est plus récente. Cela peut être les fichiers .c mais aussi .h.
Pourtant il possède une règle qui fait que si je lui dis de créer des fichiers objets à partir de sources C ou C++, je n'ai pas besoin de lui indiquer comment faire. Bien sûr il n'analyse pas les sources, il sait que pour compiler un fichier .c en .o, il doit utiliser cc idem pour compiler des fichiers .o en binaire exécutable. Fait le test écris un hello world en C ou C++ que tu appel par exemple titi.c (si c'est du C) et lance la commande make titi sans avoir de makefile dans ton dossier. Par magie il va savoir quoi faire.
Donc oui make c'est pas top, il ne fait pas tout mais il sait qu'on compile un fichier c en .o (même s'il ne sait pas toujours le faire, ni quand).
Sinon c'est comme si tu disais qu'il ne sait pas quand il doit compiler parce que se baser sur le ctime c'est pas toujours une bonne solution.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: allocation à l'arrache
Posté par barmic . En réponse à la dépêche Je crée mon jeu vidéo E01 : les systèmes à entités. Évalué à 2.
Pourtant il possède une règle qui fait que si je lui dis de créer des fichiers objets à partir de sources C ou C++, je n'ai pas besoin de lui indiquer comment faire. Bien sûr il n'analyse pas les sources, il sait que pour compiler un fichier .c en .o, il doit utiliser cc idem pour compiler des fichiers .o en binaire exécutable. Fait le test écris un hello world en C ou C++ que tu appel par exemple titi.c (si c'est du C) et lance la commande make titi sans avoir de makefile dans ton dossier. Par magie il va savoir quoi faire.
Donc oui make c'est pas top, il ne fait pas tout mais il sait qu'on compile un fichier c en .o (même s'il ne sait pas toujours le faire, ni quand).
Sinon c'est comme si tu disais qu'il ne sait pas quand il doit compiler parce que se baser sur le ctime c'est pas toujours une bonne solution.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)