Statique, extern inline en Objective-C
Ce n' static
, extern
et inline
(et leurs combinaisons) signifie en Objectif-C, en utilisant le compilateur LLVM?
Aussi, j'ai remarqué qu'il y a CG_EXTERN
et CG_INLINE
macros. Devrions-nous utiliser à la place?
(Je ne pouvais pas trouver une source avec une explication claire alors j'ai pensé qu'il pourrait être utile de créer un ici, ou un point, si quelqu'un connaît un)
- Je crains que tout cela est une question à propos de C à la place de l'Obj-C.
- Je dirais que les Graphiques de Base des macros poser la question en d'Apple territoire.
Vous devez vous connecter pour publier un commentaire.
La même qu'en C, sauf si vous compilez comme ObjC++ -- ils signifient la même chose que l'on retrouve en C++.
Voici donc une introduction pour le C, mais à lire les liens si vous êtes prêt à utiliser ces, parce que les détails sont importants:
Extern
Résumé: Indique qu'un identificateur est défini par ailleurs.
Détails: http://tigcc.ticalc.org/doc/keywords.html#extern
Statique
Résumé (valeur): Préserve la valeur de la variable de survivre après son champ d'application se termine.
Résumé (fonction): Effectivement émet sans nom copies - utile pour les fonctions privées en C, et peut être utilisé pour échapper à la définition de plusieurs erreurs lorsqu'il est utilisé avec les fonctions inline.
Détails: http://tigcc.ticalc.org/doc/keywords.html#static
Inline
Résumé: le Suggère le corps d'une fonction doit être déplacé dans la appelants.
Détails: http://tigcc.ticalc.org/doc/gnuexts.html#SEC93
Noter qu'en ligne et statique sont un peu plus complexes en C++ (comme à peu près tout en C++).
Pas.
Au lieu de cela, vous devez spécifier votre propre, votre propre sens, si vous avez besoin de ce type de fonctionnalité.
CG_EXTERN
etCG_INLINE
ont des significations spécifiques (qui peut changer), et sont destinés à être utilisés dans leur contexte défini -- aussi, vous ne voulez pas avoir à inclure une poignée de cadres (tous les CoreGraphics/ApplicationServices/CoreFoundation/etc.) si vous voulez spécifier une chose estextern
d'une manière qui fonctionne en C et C++.static
etinline
auraient besoin de plus d'une page si un devis complets ont été ajoutés à la réponse. donc... je ne pense pas que je vais les citer =\Justin couvert le plus, mais j'ai trouvé quelques autres belles ressources pour ceux qui veulent creuser un peu plus:
Par la déclaration d'une fonction inline vous dire au compilateur de remplacer le code complet de la fonction directement dans le lieu où il a été appelé. C'est plutôt une fonctionnalité avancée qui exige la compréhension de bas-niveau de programmation.
Les fonctions Inline
Cette SORTE de question a une énorme réponse sur extern variables - variables définies "somewhere else" - mais qui doivent être utilisés aussi "ici".
Statique conserve variable de la vie en dehors du champ d'application. La Variable est visible dans le champ d'application, il a été déclaré.
Ce n'est une variable statique signifie?
static
a une signification différente dans les différents (fonction/variable/variable locale) dans les contextes.