data_seg

指定初始化的变量在 .obj 文件中存储的数据段。

#pragma data_seg( [ [ { push | pop }, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] )

备注

术语 段 和 部分的 含义可互换本主题。

OBJ 文件可以使用 DUMPBIN 应用程序视图。 在 .obj 文件的默认段初始化的变量的是 .data。 未初始化的变量。 bss 视为初始化为零和存储

没有参数的data_seg 重置段到 .data。

  • push(可选)
    在内部编译器堆栈上将记录置于。 push 可以具有 标识符段落名称

  • pop (可选)
    从内部编译器堆栈的顶部移除记录。

  • 标识符 (可选)
    当使用 push,分配名称在内部编译器堆栈的记录。 当使用 pop,普遍音乐记录内部堆栈,直到移除 标识符 ;如果 标识符 在内部堆栈中未找到,没有弹出。

    标识符 使多个记录弹出与单个 pop 命令。

  • “段名称”(可选)
    段的名称*。*当使用 pop,堆栈弹出,并且 段名称 是事件段名称。

  • “段类” (可选)
    包括用于 C++ 的兼容性在 2.0 版之前。 将忽略此参数。

示例

// pragma_directive_data_seg.cpp
int h = 1;                     // stored in .data
int i = 0;                     // stored in .bss
#pragma data_seg(".my_data1")
int j = 1;                     // stored in "my_data1"

#pragma data_seg(push, stack1, ".my_data2")   
int l = 2;                     // stored in "my_data2"

#pragma data_seg(pop, stack1)   // pop stack1 off the stack
int m = 3;                     // stored in "stack_data1"

int main() {
}

使用 data_seg 分配的数据不保留有关其位置的任何信息。

对于不应使用,在创建部分时名称的列表 /SECTION 参见。

可以为常量 (const_seg),未初始化的数据 (bss_seg) 和功能 (code_seg) 还指定部分。

请参见

参考

杂注指令和__Pragma关键字