section
Crée une section dans un fichier .obj.
#pragma section( "section-name" [, attributes] )
Notes
La signification des termes segment et section sont interchangeable dans cette rubrique.
Une fois qu'une section est définie, elle reste valide pour le reste de la compilation.Toutefois, vous devez utiliser __declspec (allouez) ou rien ne sera placé dans la section.
le nom de la section est un paramètre requis qui sera le nom de la section.Le nom ne doit pas être en conflit avec aucun nom de section standard.Consultez /SECTION pour une liste des noms que vous ne devez pas utiliser en créant une section.
attributes est un paramètre optionnel qui se compose d'un ou plusieurs attributs séparés par des virgules que vous souhaitez assigner à la section.attributes possible sont :
read (lecture)
Autorise les opérations de lecture sur les données.write (écriture)
Permet des opérations d'écriture sur les données.exécutez
Autorise le code à exécuter.partagé
Regroupe la section entre tous les processus qui chargent l'image.nopage
marque la section comme non paginable ; utile pour les pilotes de périphériques Win32.nocache
Marque la section comme ne pouvant pas être mises en cache ; utile pour les pilotes de périphériques Win32.écart
marque la section comme discardable ; utile pour les pilotes de périphériques Win32.remove
marque la section comme non résidante en mémoire ; pilotes (VxD) de périphériques virtuels uniquement.
Si vous ne spécifiez pas d'attribut, la section aura des attributs de lecture et d'écriture.
Exemple
dans l'exemple suivant, la première instruction identifie la section et ses attributs.j entier n'est pas mis en mysec car il n'a pas été déclaré avec __declspec(allocate); j entre dans la section de données.L'entier i passe en mysec suite à son attribut de classe de stockage d' __declspec(allocate) .
// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;
__declspec(allocate("mysec"))
int i = 0;
int main(){}