小弟写了一个基于dialog的MFC程序,里面调用了LED屏的二次开发动态库,编译通过,运行没有问题.
之后我又增加了网络通信的模块,也是调用动态库的函数,此时编译通过,一运行就出现错误,提示"应用程序正常初始化(0xc0000005)失败。",单步调试运行也不行,提示“unhandled exception in XXX.exe(NTDLL.DLL):0x00000005:Access Violation”。
将网络通信的调用注释掉后可以运行。将LED调用注释掉,只保留网络通信的模块,也可以运行。跪求解决方案.

解决方案 »

  1.   

    我在APP的构造函数(构造函数是空的)和InitInstance里设置断点都进不去,一按F10就出现错误了.我不知道改怎么调试了.我还想问一下哪些操作会引起内存冲突呢?
      

  2.   

    MFC,c/c++运行时库冲突?缺文件?
    两个模块用什么语言编写的?MFC?6.0?2005?2008?
    Depend看看导入DLL
      

  3.   

    LED的lib是在project->settings->link里面引的
    网络的lib是在头文件里#pragma comment(lib, "XXX.lib")引的
    这样会产生问题吗?
      

  4.   

    你单独调用网络的lib行么,如果行你把两个lib都放在工程设置中看怎么样
      

  5.   

    我单独调用网络库和LED的库都是没有问题的,我把两个库都放到工程设置中,也不行
      

  6.   

    这两个库是用同一版本的编译器编译的吗?
    如果编译器不同,lib可能就不兼容。比方说MS与borland的编译器产生的lib格式就不兼容。
      

  7.   

    网络库是用MS编译的,LED的库有VC的Demo程序,应该也是用MS编译的
      

  8.   

    在APP的构造函数(构造函数是空的)和InitInstance里设置断点,按F10就崩溃了
      

  9.   

    以前碰到过类似的,就是两个被调用的库如果生成方式不一样的情况下也会造成内存冲突的!比如说一个是Release版本的一个是Debug版本的!