键盘的咏叹调

常用链接

统计

最新评论

关于CRT的全局变量构造的问题

历史原因 项目中已有的代码有了很多全局变量,
之前这些变量相安无事,
直到需要添加一个内存管理的功能,而这个功能也需要一个全局变量,但是这个全局变量必须在所有其他全局变量之前执行初始化。

最开始使用#pragma section(SECNAME,long,read)的方法,把某个函数加入到某个section中,因为CRT是按照section的字母序执行的,这个方法
在exe中执行的很好,不幸的是我们是在一个dll中,这个方法不奏效。

最后查看msdn,写道:如果是使用dll,使用#pragma init_seg
#pragma init_seg(compiler)
_CRTIMP2 MemoryManager MemMnger;
这样,初始化工作在编译器初始化的时候就执行了,连断点都断不到了


posted on 2009-08-12 11:47 键盘的咏叹调 阅读(371) 评论(0)  编辑 收藏 引用 所属分类: C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理