在自己写的库的工程中有一个类中加了一个全局变量,不管是什么类型的,整个程序能打开,只要到接到这个类的窗口就崩溃了。这是怎么回事呀。而且我试了什么类型的变量都不行,CRect ,int, double都不行,只要多加一个就崩溃。如果我加入一个,删除一个别的变量也不会崩溃。
还有我在这个工程里别的类里加变量都没事,应该是我这个类有问题了,高手们给我个提示,我检查一下。谢谢大家了。 

解决方案 »

  1.   

    自己写的库
    是dll吗?如果dll改动,依赖此dll对应lib(引入库)的工程也需要重新编译。否则双方没有二进制上一致的标准。
      

  2.   

    软件运行时栈容量是固定的,如在某些函数内定义的局部变量(包括类对象)所占空间过大,执行到这些函数时,就可能出现运行时错误
    解决方法:
    <1>通过new或者malloc或使用API在内存堆中分配,记得不用时要销毁
    <2>使用CreateFileMapping和MapViewOfFile映射内存文件的方式分配空间,同样不用时要反映射
      

  3.   

    PS 以下
    两个char类型的就可以
    两个int就不行是哪里溢出了么,不知在哪里下手找啊。
      

  4.   


    好像就是这样哦,但是不怎么会用new 全局变量找了半天资料也没查到,高手赐教啊。
      

  5.   

    删掉.ncb .opt .clw 然后rebuild all