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).