Memory Management[18]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 simonwan 的 blog

一般而言微软编译器会把所有初始化过的数据放进一个名为 .data section 中,然后留给它一个 image_scn_mem_shared 以外的属性。这会使得每当有一个执行个体(instance)产生,该数据就会复制一份数据,专属给执行个体使用。为了共享内存,你可以要求编译器产生一个新的section,名称随你取,但只有前8个字符有意义。例如:

#pragma data_seg("sharedat")

#pragma 之后,你可以宣告任何你想要被共享的数据变量。你应该初始化这些数据,否则它们会被编译器放到另一个专放未初始化资料的 data section 去。变量宣告完之后,如果你要恢复原来的 data section 属性,只要加上一行即可:

#pragma data_seg()

最后,你必须将你的共享心愿传达给联结器知道。你有两种方法,传统作法是在def 檔中设定 section 属性:

sections

sharedat read write shared

本文关键:Memory Management
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top