diff --git a/Makefile b/Makefile index 7a7f077..0b0b671 100644 --- a/Makefile +++ b/Makefile @@ -149,7 +149,8 @@ re: fclean all # ranlib [322 G] ## 3 - fichiers .h [335 G] -# ecrir un header [] +# a quoi sert un header [] +# ecrire un header [] # comment ca se compile [] ## 4 - ecrire un make file... [] @@ -334,7 +335,7 @@ re: fclean all ## ---------------- # - - - - - - - - - - - - -# ecrire un header +# a quoi sert un header # - - - - - - - - - - - - # si on utilise une librairie c'est parce qu'on peut avoir @@ -360,69 +361,82 @@ re: fclean all # fonctions de la librairie, gcc s'occupera de l'expandre # a la precompilation # -# # -# # -# # -# # -# # -# # -# # + +# - - - - - - - - - +# ecrire un header +# - - - - - - - - - + +# [ft_putchar.c] +# # #include "libtest.h" +# # +# # void ft_putchar(char c) +# # { +# # write(1, &c, 1); +# # } # -# # -# # -# # -# # -# # -# # -# # +# [main.c] +# # #include "libtest.h" +# # +# # int main() +# # { +# # ft_putchar('0'); +# # return (0); +# # } # +# [libetest.h] +# # # ifndef LIBTEST_H +# # # define LIBTEST_H # # +# # #include # # +# # void ft_putchar(char c); # # -# # -# # -# # +# # # endif # -# # -# # -# # -# # -# # -# # -# # -# # +# en tete de chaque fichier de fonctions on ecrit +# l'include de la librairie, comme un include classique, +# precede d'un #, mais avec le nom de la librairie entre +# guillemets et non pas entre signes comparateurs # -# # -# # -# # -# # -# # -# # -# # -# # -# # +# dans le fichier de la librairie on ajoute les includes +# dont on peut avoir besoin pour que la librairie ou des +# fonctions auont besoin, et les prototypes des fonctions # +# on entoure toutes ces infos par une definition, afin +# de proteger le .h d'etre expand plusieurs fois dans +# un fichier # - - - - - - - - - - - - # comment ca se compile # - - - - - - - - - - - - +# au moment de la compilation il faut indiquer a gcc ou +# se trouve le fichier .h avec le flag -I # +# par exemple pour l'architecture de dossier suivante : # +# # file +# # -> main.c +# # -> ft_putchar.c +# # -> libtest.h # +# il faut ecrire : # +# # gcc main.c ft_putchar.c -I. # +# et si la compilation utilise une librairie, par exemple +# si on met la fonction ft_putchar.c dans une librairie : # +# # gcc -c ft_putchar.c +# # (donne ft_putchar.o) +# # ar rc libtest.a ft_putchar.o # +# on peut alors compiler avec la librairie .a et le +# fichier .h : # +# # gcc main.c -I. -L. -ltest -o test # -# -# -# -# -# -# -# +# qui sort l'executable "test" ## ---------------------------------------------------- ## 4 - ecrire un make file pour aider a la compilation