__declspec
Remonter à Liste alphabétique des mots clés - Index
Catégorie
Modificateurs (C++), Extensions des mots clés, Spécificateurs de classe de stockage (C++)
Syntaxe
__declspec(<decl-modifier>)
Description
Utilisez le mot clé __declspec pour indiquer les attributs de classe de stockage pour une variable ou une fonction.
Le mot clé __declspec étend la syntaxe des attributs pour les modificateurs de classe de stockage afin que leur placement dans une instruction déclarative soit plus souple. Le mot clé __declspec et ses arguments peuvent apparaître n'importe où dans la liste du déclarateur, au contraire des anciens modificateurs qui ne pouvaient apparaître qu'immédiatement avant l'identificateur à modifier.
__export void f(void); // illegal
void __export f(void) // correct
void __declspec(dllexport) f(void); // correct
__declspec(dllexport)void f(void); // correct
class __declspec(dllexport) ClassName { } // correct
Modificateurs
Directive | Description | Alternative |
---|---|---|
__declspec(allocate("SEGNAME")) | Spécifie le segment dans lequel l'entité est allouée. | #pragma codeseg |
__declspec(delphiclass) | Indique que cette classe dérive de TObject et doit être compatible Delphi et VCL. | |
__declspec(delphirecord) | Indique que cette structure est un enregistrement Delphi (dans le code C++ généré automatiquement depuis le code Delphi). | |
__declspec(delphireturn) | Spécifie que ce type doit être compatible VCL afin qu'il puisse être passé par valeur dans les appels de fonction. | |
__declspec(delphirtti) | Indique que les informations RTTI de Delphi doivent être générées pour les membres publics ou publiés de cette classe. | |
__declspec(dllexport) | Spécifie que cette entité doit être importée lors de la construction d'une bibliothèque partagée. | _export, __export |
__declspec(dllimport) | Spécifie que cette entité doit être exportée lors de la construction d'une bibliothèque partagée. | _import, __import |
__declspec(dynamic) | Spécifie que cette fonction est dynamique (similaire à virtual). | |
__declspec(naked) | Spécifie que cette fonction ne doit pas comporter un code de prologue et d'épilogue. | |
__declspec(hidesbase) | Spécifie que cette fonction membre n'a pas de relation vers les fonctions virtuelles de même nom dans une quelconque classe de base. | |
__declspec(noreturn) | Spécifie que cette fonction n'a pas d'instruction return. | #pragma noretval, Attribut C++11 noreturn |
__declspec(nothrow) | Spécifie que la fonction ne déclenche pas une exception. | |
__declspec(novtable) | Spécifie que le code d'initialisation de la vtable de la classe ne doit pas être généré. | |
__declspec(package) | Indique que cette définition de classe peut être compilée dans un package. | |
__declspec(pascalimplementation) | Indique que cette classe est définie dans Delphi. | |
__declspec(property) | Définit une propriété avec l'accès en lecture et / ou en écriture donné. | __property |
__declspec(selectany) | Indique que ces données globales sont initialisées dans plusieurs fichiers source et que le code d'initialisation peut être sélectionné pour la définition. | |
__declspec(thread) | Indique que cette entité est locale au thread (stockage local au thread). | __thread |
__declspec(uuid("ComObjectGUID")) | Associe la classe avec un GUID (Globally Unique IDentifier). |