bss_seg
pragma
Başlatılmamış değişkenlerin nesne (.obj) dosyasında depolandığı bölümü (segment) belirtir.
Sözdizimi
#pragma bss_seg(
[ "section-name" [,
"section-class" ] ])
#pragma bss_seg(
{push
|pop
} [,
identifier ] [,
"section-name" [,
"section-class" ] ])
Parametreler
push
(İsteğe bağlı) İç derleyici yığınına bir kayıt yerleştirir. bir push
tanımlayıcıya ve bölüm adına sahip olabilir.
pop
(İsteğe bağlı) İç derleyici yığınının üst kısmından bir kaydı kaldırır. bir pop
tanımlayıcıya ve bölüm adına sahip olabilir. Tanımlayıcıyı kullanarak tek bir pop
komut kullanarak birden çok kaydı açabilirsiniz. Bölüm adı , pop'un ardından etkin BSS bölüm adı olur.
identifier
(İsteğe bağlı) ile push
kullanıldığında, iç derleyici yığınındaki kayda bir ad atar. ile pop
kullanıldığında yönergesi, tanımlayıcı kaldırılana kadar iç yığındaki kayıtları açar. Tanımlayıcı iç yığında bulunmazsa hiçbir şey gösterilmez.
"section-name"
(İsteğe bağlı) Bölümün adı. ile pop
kullanıldığında yığın açılır ve bölüm adı etkin BSS bölüm adı olur.
"section-class"
(İsteğe bağlı) Yoksayılır, ancak 2.0 sürümünden önceki Microsoft C++ sürümleriyle uyumluluk için dahil edilir.
Açıklamalar
Nesne dosyasındaki bölüm, belleğe birim olarak yüklenen adlandırılmış bir veri bloğudur. BSS bölümü, başlatılmamış veriler içeren bir bölümdür. Bu makalede, segment ve bölüm terimleri aynı anlama sahiptir.
yönergesibss_seg
pragma, derleyiciye çeviri biriminden tüm başlatılmamış veri öğelerini section-name adlı bir BSS bölümüne yerleştirmesini söyler. Bazı durumlarda, kullanımı bss_seg
başlatılmamış verileri tek bir bölümde gruplandırarak yükleme sürelerini hızlandırabilir. Varsayılan olarak, bir nesne dosyasında başlatılmamış veriler için kullanılan BSS bölümü olarak adlandırılır .bss
. bss_seg
pragma Bölüm adı parametresi olmayan bir yönerge, sonraki başlatılmamış veri öğelerinin .bss
BSS bölüm adını olarak sıfırlar.
kullanılarak bss_seg
pragma ayrılan veriler, konumu hakkında hiçbir bilgi saklamaz.
Bölüm oluşturmak için kullanılmaması gereken adların listesi için bkz /SECTION
. .
Ayrıca, başlatılan veriler (), işlevler (data_seg
code_seg
) ve const değişkenleri (const_seg
) için bölümler de belirtebilirsiniz.
Nesne dosyalarını görüntülemek için DUMPBIN.EXE uygulamasını kullanabilirsiniz. Desteklenen her hedef mimari için DUMPBIN sürümleri Visual Studio'ya eklenir.
Örnek
// 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 .my_data1
int main() {
}
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri