Protéger mes prototypes de la double inclusions
Résolu
fire3d
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
J'aimerais comprendre clairement ce qu'est la double inclusion et comment protéger mes prototypes face a ce problème.
J'ai pour le coup déjà essayer de le faire, en vain malheureusement -->
Merci pour votre aide d'avance. :)
J'aimerais comprendre clairement ce qu'est la double inclusion et comment protéger mes prototypes face a ce problème.
J'ai pour le coup déjà essayer de le faire, en vain malheureusement -->
#IFNDEF __protect__ #define __protect__ void ft_putchar(char c); void ft_putstr(char *str); void ft_putnbr(int nombre); int ft_strcmp(char *s1, char *s2); int ft_strlen(char *str); void ft_swap(int *a, int *b); #ENDIF
Merci pour votre aide d'avance. :)
A voir également:
- Double inclusion protection c
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- K9 web protection - Télécharger - Contrôle parental
- Double appel - Guide
2 réponses
Bonjour,
Attention aux directives préprocesseurs, elles sont sensibles à la casse.
#IFNDEF
#ENDIF
Ce n'est pas bon. Il faut mettre :
En utilisant ce principe, tu ne dois pas avoir le problème de double inclusion... Peux-tu montrer un exemple concret, car c'est bizarre.
As-tu bien vérifié que tes prototypes ne sont définies que dans le header ?
Cdlt,
Attention aux directives préprocesseurs, elles sont sensibles à la casse.
#IFNDEF
#ENDIF
Ce n'est pas bon. Il faut mettre :
#ifdef #endif
En utilisant ce principe, tu ne dois pas avoir le problème de double inclusion... Peux-tu montrer un exemple concret, car c'est bizarre.
As-tu bien vérifié que tes prototypes ne sont définies que dans le header ?
Cdlt,
Je pense qu'il veut dire par protection des inclusions, la possibilité d'inclure une seule fois l'en-tête de fichier et non deux fois, alors pour ça il faut rajouter à la suite de tes directives de préprocesseur certaines directives, je les connais pas tous mais celle-ci doit répondre à ta demande, mais dans le cas contraire réfère-toi à la documentation du langage C qui pourrais plus te renseigner ou ce lien Wikipédia https://en.wikipedia.org/wiki/Include_guard
Exemple
à bientôt