代码改变世界

(NTDLL.DLL): 0xC0000005: Access Violation-解决方法

2008-07-25 11:29  ubunoon  阅读(20991)  评论(1编辑  收藏  举报

在编写自己的dll程序的时候,先开始在调用dll的exe上出现(AVIDLL.DLL): 0xC0000005: Access Violation,不是很明白,为什么会出现这个问题。

在内部进行调试的时候发现,是调用了new操作符的缘故。

很不理解,在dll中调用new操作符会出现这么一个问题,网络上搜索,在微软msdn论坛(具体地址:http://forums.msdn.microsoft.com/zh-CN/vclanguage/thread/951a04be-6b52-4617-b396-9c35e3755759/)上搜索到相关问题。

于是按照说明,将dll的生成方式修改为"共享mfc方式"

         project properties -> general -> Project Defaults->Use of MFC
         To set the properties "Use MFC In A Shared DLL "

 

另外,在网上也发现另外一篇,console方面的, 解决办法:使用c   runtime   library的动态链接版本(在你的console工程中设置忽略所有的默认链接库,然后链接到msvcrt.lib就可以了)(具体地址:http://www.poptool.net/software/p606/A60674501.shtml

 

调试,发现问题解决,感谢上面发布的兄弟们!

OK!