Partager via


bss_seg

Spécifie le segment où les variables non initialisées sont stockées dans le fichier .obj.

#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )

Notes

Les fichiers Obj peuvent être affichés avec l'application de poubelle .Le segment par défaut dans le fichier .obj pour les données non initialisées est .bss.Dans certains cas l'utilisation de bss_seg peut accélérer les temps de chargement en regroupant les données non initialisées dans une section.

bss_seg sans paramètres réinitialise le segment à .bss.

  • push(facultatif)
    Met à jour un enregistrement sur la pile interne du compilateur.push peut avoir un identificateur et un segment- nom.

  • bruit (facultatif)
    Supprime un enregistrement du haut de la pile interne du compilateur.

  • identificateur (facultatif)
    En cas de utilisation avec push, assigne un nom à l'enregistrement de la pile interne du compilateur.Lorsqu'ils sont utilisés avec bruit, les sons stocke en dehors de la pile interne jusqu'à ce que l'identificateur soit supprimé ; si l'identificateur est introuvable dans la pile interne, rien n'est dépilé.

    l'identificateur active plusieurs enregistrements à un pop à l'aide d'une commande unique de bruit .

  • « segment-nom »(facultatif)
    le nom d'un segment*.* Lorsqu'elle est utilisée avec bruit, la pile est dépilée et le segment-nom devient le nom de segment actif.

  • « segment-classe » (facultatif)
    Inclus pour la compatibilité avec C++ antérieures à la version 2,0.il est ignoré.

Exemple

// pragma_directive_bss_seg.cpp
int i;                     // stored in .bss
#pragma bss_seg(".my_data1")
int j;                     // stored in "my_data1"

#pragma bss_seg(push, stack1, ".my_data2")   
int l;                     // stored in "my_data2"

#pragma bss_seg(pop, stack1)   // pop stack1 from stack
int m;                     // stored in "stack_data1"

int main() {
}

Vous pouvez également spécifier les sections relatives à des données initialisées (data_seg), les fonctions (code_seg), les variables const (const_seg).

Les données allouée à l'aide de le pragma de bss_seg ne conserve aucune information sur son emplacement.

Consultez /SECTION pour une liste des noms que vous ne devez pas utiliser en créant une section.

Voir aussi

Référence

Directives pragma et le mot clé de __Pragma