Sdílet prostřednictvím


const_seg

Určuje segment kde const proměnné, které jsou uloženy v souboru obj.

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

Poznámky

Význam těchto termínů segmentu a části jsou zaměnitelné v tomto tématu.

OBJ soubory lze zobrazit dumpbin aplikace.Výchozí segmentu v souboru obj const proměnných je .rdata.Některé const proměnné, jako je například skalárů, jsou automaticky inlined do datového proudu kód.Inlined kód se nezobrazí v .rdata.

const_seg bez parametrů obnoví .rdata segmentu.

  • Push(volitelné)
    Vloží záznamy vnitřním zásobníku překladače.A push mohou mít identifikátor a název segmentu.

  • POP (volitelné)
    Odstraní záznam z horní zásobník kompilátoru.

  • identifikátor (volitelné)
    Při použití s push, přiřadí název záznamu v zásobníku kompilátoru.Při použití s pop, POP záznamy vnitřního zásobníku až do identifikátor odstraněny; Pokud identifikátor nebyl nalezen v interním zásobníku, nic se popped.

    Pomocí identifikátor umožňuje více záznamů je jediným popped pop příkaz.

  • "název segmentu"(volitelné)
    Název segmentu*.* Při použití s pop, zásobníku je popped a název segmentu stane se aktivní úsek název.

  • "segment třída" (volitelné)
    Součástí pro kompatibilitu s C++ verzi 2.0.Je ignorována.

Příklad

// pragma_directive_const_seg.cpp
// compile with: /EHsc
#include <iostream>

const int i = 7;               // inlined, not stored in .rdata
const char sz1[]= "test1";     // stored in .rdata

#pragma const_seg(".my_data1")
const char sz2[]= "test2";     // stored in .my_data1

#pragma const_seg(push, stack1, ".my_data2")
const char sz3[]= "test3";     // stored in .my_data2

#pragma const_seg(pop, stack1) // pop stack1 from stack
const char sz4[]= "test4";     // stored in .my_data1

int main() {
    using namespace std;
   // const data must be referenced to be put in .obj
   cout << sz1 << endl;
   cout << sz2 << endl;
   cout << sz3 << endl;
   cout << sz4 << endl;
}
  

Komentáře

Viz /SECTION seznam názvů byste neměli používat při vytváření oddílu.

Můžete také určit oddíly pro inicializovat data (data_seg), inicializovat data (bss_seg) a funkce (code_seg).

Viz také

Referenční dokumentace

Pragma směrnic a __Pragma klíčové slovo