历史原因 项目中已有的代码有了很多全局变量,
之前这些变量相安无事,
直到需要添加一个内存管理的功能,而这个功能也需要一个全局变量,但是这个全局变量必须在所有其他全局变量之前执行初始化。
最开始使用#pragma section(SECNAME,long,read)的方法,把某个函数加入到某个section中,因为CRT是按照section的字母序执行的,这个方法
在exe中执行的很好,不幸的是我们是在一个dll中,这个方法不奏效。
最后查看msdn,写道:如果是使用dll,使用
#pragma init_seg
#pragma init_seg(compiler)
_CRTIMP2 MemoryManager MemMnger;
这样,初始化工作在编译器初始化的时候就执行了,连断点都断不到了