Question

Quelqu'un peut-il expliquer comment fonctionne @encode pour extraire les éléments de type de données présents dans un objet donné, struct ou dans une définition type de données de type à être utilisé comme un descripteur de classe pour instanciation?

Ou peut-être un pointeur vers des ressources pour l'apprentissage de la mise en œuvre des nouvelles directives de préprocesseur?

Était-ce utile?

La solution 2

Le phrasé de la question initiale peut-être pas clair et je pense que mon mentionner d'une éventuelle mise en œuvre impliquant le préprocesseur a provoqué la conversation se tourner vers les subtilités de la façon dont les compilateurs travaillent plutôt que la question prévue.

S'il vous plaît référence à cette question, que je crois est beaucoup plus clair quant à ce que je suis en train d'apprendre: Comment puis-je mettre en œuvre quelque chose de similaire à la directive du compilateur @encode Objective-C () dans la norme ANSI C?

Autres conseils

La directive @encode analyse le type prévu et génère une constante de chaîne sur la base de ce type. Le codage de tous les types primitifs C (y compris signés et non signés versions) et le id Objective-C et les types de SEL ont tous encodages un seul caractère, ceux-ci se trouve dans <objc/runtime.h>. types plus complexes tels que structs et les tableaux ont des codages plus grandes.

Plus d'informations sont disponibles dans les Objective-C Runtime Guide de programmation [PDF].

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top