Share via


Mécanismes de base des attributs

Il existe trois façons d'insérer des attributs dans votre projet. Tout d'abord, vous pouvez les insérer manuellement dans votre code source. Ensuite, vous pouvez les insérer à l'aide de la grille des propriétés d'un objet dans votre projet. Enfin, vous pouvez les insérer à l'aide de les différents assistants. Pour plus d'informations sur l'utilisation de la fenêtre Propriétés et les différents assistants, consultez Création et gestion des projets Visual C++.

Depuis Visual C++ .NET, le compilateur identifie la présence d'attributs dans un fichier source et peut dynamiquement les analyser et vérifier pendant la compilation.

Comme avant, lorsque le projet est généré, le compilateur analyse chaque fichier source C++, pour produire un fichier objet. Toutefois, lorsque le compilateur rencontre un attribut, il est interprète et syntaxiquement vérifié. Le compilateur appelle ensuite dynamiquement un fournisseur d'attribut pour insérer le code ou pour apporter d'autres modifications au moment de la compilation. l'implémentation du fournisseur diffère selon le type d'attribut. Par exemple, les attributs ATL-mis en relation sont implémentés par Atlprov.dll.

l'illustration suivante montre la relation entre le compilateur et le fournisseur d'attribut.

Communication des attributs de composants

Notes

l'utilisation d'attribut ne modifie pas le contenu du fichier source.La seule fois le code généré d'attribut est visible pendant les sessions de débogage.En outre, pour chaque fichier source dans le projet, vous pouvez générer un fichier texte et affiche les résultats de la substitution d'attribut.Pour plus d'informations sur cette procédure, consultez /Fx (Code injecté par fusion) et le Le code injecté par débogage.

Comme la plupart des éléments C++, les attributs ont un ensemble de fonctionnalités qui définit leur utilisation appropriée. Cela est indiqué comme le contexte de l'attribut et est traité dans le tableau de contexte d'attribut pour chaque rubrique de référence d'attribut. Par exemple, l'attribut de coclasse peut s'appliquer qu'à une classe ou une structure existante, par opposition à l'attribut de cpp_quote , qui peut être inséré n'importe où dans le fichier source C++.

Voir aussi

Autres ressources

Concepts de programmation par attributs