#pragma bss_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )
Specifies the segment where uninitialized variables are stored in the .obj file. 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.
identifier enables multiple records to be popped with a single pop command.
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" void 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.