explication header

This commit is contained in:
hugo
2019-11-12 19:21:17 +01:00
parent ad9dca840f
commit 3d8dde51f4

100
Makefile
View File

@@ -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 <unistd.h>
# #
# # 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