bss_seg
Określa segmentu, gdzie niezainicjowanych zmiennych są przechowywane w pliku .obj.
#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
Uwagi
Obj pliki mogą być wyświetlane z dumpbin aplikacji.Segmentem domyślnym w pliku .obj niezainicjowanych danych jest .bss.W pewnych przypadkach, skorzystać z bss_seg można przyspieszyć ładowanie razy przez grupowanie niezainicjowanych danych w jednej sekcji.
bss_seg bez parametrów resetuje segmentu do .bss.
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_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() {
}
Można również określić sekcje zainicjowane dane (data_seg), funkcje (code_seg) i const zmiennych (const_seg).
Dane przydzielonych za pomocą bss_seg pragma nie zachowuje żadnych informacji o lokalizacji.
Zobacz /Section do listy nazw nie należy używać podczas tworzenia sekcji.