Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Débutant][Objective-C]protéger le .h des inclusions multiple, utile ou pas ?

1 réponse
Avatar
David Remacle
Salut,

Souvent en C et C++ dans le fichier .h ont doit indiquer


#ifndef IDENTIFICATEUR
#define IDENTIFICATEUR

/* zone protegee contre les inclusions multiples */

#endif /* guard */

Or je vois que lorsqu'on ajoute une classe objective-C on n'a
pas le "ifndef...endif"

Est-ce donc inutile en objective-c et pourquoi ?

Merci

1 réponse

Avatar
ftestuz
David Remacle wrote:

Salut,

Souvent en C et C++ dans le fichier .h ont doit indiquer


#ifndef IDENTIFICATEUR
#define IDENTIFICATEUR

/* zone protegee contre les inclusions multiples */

#endif /* guard */

Or je vois que lorsqu'on ajoute une classe objective-C on n'a
pas le "ifndef...endif"

Est-ce donc inutile en objective-c et pourquoi ?

Merci



C'est possible par une autre directive d'importation définie soit par
gcc soit dans le cadre de Objective-C, je ne sais pas exactement.

Tu aura remarquer que les fichiers .h Objective-C sont importé par

#import

et non pas par

#include

Le premier vérifier si le fichier .h a déjà été importer, si c'est le
cas, il ne se passe rien. Alors que #include fait toujours
l'împortation, d'où le risque de définitions à double.

Pour ma part, j'utilise #import pour les .h Objective-C et #include pour
les .h C. Et lorsque j'écris un fichier .h, je le fais en conséquence.

--
Frédéric Testuz