CRT heap是否能有多个?
Windows内核调试
CRT heap是否能有多个?
Thomson
2008-12-02, 11:30 上午
一个进程里面的exe 和 dll如果都是static link到 crt的, 那么在exe 和 dll里面用new操作的堆是不是不一样?
Re: CRT heap是否能有多个?
手语
2008-12-02, 14:06 下午
使用的是同一个CRT堆。
CRT堆是在EXE启动的时候(main之前)被初始化的。
鸿鹄安知燕雀之志
Re: CRT heap是否能有多个?
格蠹老雷
2008-12-02, 17:58 下午
手语,你的意见值得商榷^_^
如果都是静态链接CRT的,那么它们会各自有自己的CRT 堆实例,例如:
0:000> dd FaultDll!_crtheap l1
10039838 003c0000
0:000> dd FaultApp!_crtheap l1
0042e938 003d0000
在23章的原稿中,有一节专门讨论一个因为使用不同实例而出错的案例,压缩篇幅时删掉了(:-(),过几天会作为“书友活动”的奖品把电子版本发给大家。
Re: CRT heap是否能有多个?
手语
2008-12-02, 18:25 下午
哦,原来如此
是我搞错了,谢谢老雷指点
希望快点得到删减的内容 ^_^
鸿鹄安知燕雀之志