Partager via


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(){}

Voir aussi

Référence

Directives pragma et le mot clé de __Pragma