Udostępnij za pośrednictwem


code_seg

Określa segmentu, w którym funkcje są przechowywane w pliku .obj.

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

Uwagi

Znaczenie terminów segment i sekcji są wymienne, w tym temacie.

OBJ pliki mogą być wyświetlane z dumpbin aplikacji.Segmentem domyślnym pliku .obj dla funkcji jest Text.

code_seg bez parametrów resetuje segmentu Text.

  • push(opcjonalnie)
    Umieszcza rekordu stosu wewnętrznego kompilatora.A kampanii może mieć identyfikatora i Nazwa segmentu.

  • POP (opcjonalnie)
    Usuwa rekord z wierzchu stosu wewnętrznego kompilatora.

  • Identyfikator (opcjonalnie)
    Gdy używana z replikacji wypychanej, przypisuje nazwę rekordu na stosie wewnętrznego kompilatora.Gdy używana z pop, punkty obecności rekordów ze stosu wewnętrznego aż do identyfikator usunięte; Jeśli identyfikatora nie zostanie znaleziony na stosu wewnętrznego, nic nie jest tam pojawi.

    Identyfikator umożliwia wiele rekordów, aby się pojawiały się błędy za pomocą jednego pop polecenia.

  • "Nazwa segmentu"(opcjonalnie)
    Nazwa segmentu*.* Gdy używana z pop, pojawiały się błędy stosu i Nazwa segmentu staje się nazwa aktywny segment.

  • "segment klasy" (opcjonalnie)
    Włączone dla zgodności z C++ w wersji 2.0.Jest ignorowana.

Przykład

// pragma_directive_code_seg.cpp
void func1() {                  // stored in .text
}

#pragma code_seg(".my_data1")
void func2() {                  // stored in my_data1
}

#pragma code_seg(push, r1, ".my_data2")
void func3() {                  // stored in my_data2
}

#pragma code_seg(pop, r1)      // stored in my_data1
void func4() {
}

int main() {
}

Zobacz /Section do listy nazw nie należy używać podczas tworzenia sekcji.

Można również określić sekcje zainicjowane dane (data_seg), niezainicjowanych danych (bss_seg) i const zmiennych (const_seg).

Zobacz też

Informacje

Dyrektywy pragma i __Pragma słowa kluczowego