关于多线程里面new分配内存的问题! 别管了,你也管不了的.没听说往堆new一块儿内存还要注意那么多,既然你的程序正常(确保压力测试通过喽),那就一切OK了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to lujianjian(老农)&xyzboat(一叶小舟) 两位兄台说得也是,但是作为一个程序来讲,稳定性应该是最重要的,虽然目前程序是可以运行了,但是难以保证不会出现其他的问题。再说,我担当的这部分目前是作为通用部分来使用,其他人在此基础上开发,所以,一定需要一个稳定的根基!!to yangzi(笨笨) 堆栈分配?由于程序量比较大现在修改起来已经是不可能的了! 所以,还得必须搞清楚究竟是怎么回事。 在boundcheck里面,说是建议用_beginthread代替CreateThread,可能问题就在这里!据我所知,前者里面有调用后者,也就是说在_beginthread里面,做了其他一些相应的工作!可能想在缺少的东西就在这里! 由于_beginthread与Createthread的参数list和返回值不一样,所以现在修改是不太现实的了,所以,现在还是把它该正确为好!!!! _beginthread(ex)与CreateThread的主要不同是对C标准库函数的支持不同,在CreateThread中使用C标准库函数是不安全的(据M$的说法,如果CreateThread线程创建失败,使用C标准库函数会导致少量内存泄漏,但总而言之,不够安全)Win32中C++算符new/delete实际上是通过在进程全局堆中分配实现的,如果为安全性考虑,可以用HeapCreate创建局部堆,然后通过HeapAlloc/HeapFree分配,这样如果有某些错误的话(如数组越界)不至于影响到全局堆中的数据。我个人觉得的用AfxBeginThread()对C++的语法支持较好,而且它内部调用的是_beginthreadex, 可是他返回的是CWinThread对象的指针,可能对你不太适用。 你在new时调用catch捕获一下,看有没有错误,如果有的话,再根据具体原因检查 为什么我的滚动条没有出现? vc总中有几个坐标系 [求助]如何获取IE的版本和控件是否存在? 求<MFC Windows程序设计>第二版中文版 一个关于RUNTIME_CLASS的问题 “查看/工具栏”的代码呢? 数据库范式问题 这个问题实在太怪了,我实在解决不了了! 我用VC编了一个DLL,但用DELPHI却不能调用,请高手指点1 注册表 枚举问题! 快来捡分,菜鸟问题! 在C++Builder或Delphi中怎样把一个文件夹中的文件(包含子文件夹)拷贝到另一个文件夹中?
两位兄台说得也是,但是作为一个程序来讲,稳定性应该是最重要的,虽然目前程序是可以运行了,但是难以保证不会出现其他的问题。再说,我担当的这部分目前是作为通用部分来使用,其他人在此基础上开发,所以,一定需要一个稳定的根基!!to yangzi(笨笨)
堆栈分配?由于程序量比较大现在修改起来已经是不可能的了!
所以,还得必须搞清楚究竟是怎么回事。 在boundcheck里面,说是建议用_beginthread代替CreateThread,可能问题就在这里!
据我所知,前者里面有调用后者,也就是说在_beginthread里面,做了其他一些相应的工作!可能想在缺少的东西就在这里!
由于_beginthread与Createthread的参数list和返回值不一样,所以现在修改是不太现实的了,所以,现在还是把它该正确为好!!!!
Win32中C++算符new/delete实际上是通过在进程全局堆中分配实现的,如果为安全性考虑,可以用HeapCreate创建局部堆,然后通过HeapAlloc/HeapFree分配,这样如果有某些错误的话(如数组越界)不至于影响到全局堆中的数据。
我个人觉得的用AfxBeginThread()对C++的语法支持较好,而且它内部调用的是_beginthreadex, 可是他返回的是CWinThread对象的指针,可能对你不太适用。