bss_seg
Visual Studio 2010
Specifies the segment where uninitialized variables are stored in the .obj file.
#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
Obj files can be viewed with the dumpbin application. The default segment in the .obj file for uninitialized data is .bss. In some cases use of bss_seg can speed load times by grouping uninitialized data into one section.
bss_seg with no parameters resets the segment to .bss.
// 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() {
}
You can also specify sections for initialized data (data_seg), functions (code_seg), and const variables (const_seg).
Data allocated using the bss_seg pragma does not retain any information about its location.
See /SECTION for a list of names you should not use when creating a section.