new 与malloc问题
2012-08-03 20:18
190 查看
先从这个C++中new和malloc开始,这个是正常在用的程序中代码一段(不过我总是觉这个程序有问题,虽然它在控制台中正常运行),但是我导出dll提供C#使用。老是有问题,可能是我方法不对,但是总是觉得这个程序在一些方面写的别扭。尤其是这个地方 YG=(double**)new char [(nB)*sizeof(void*)],按照我自己的理解,应该定义成这样下面图哪种
YG=(double**) malloc((nB)*sizeof(double)); 它在这里定义成char[]数组类型,估计是考虑考虑memset使用的缘故吧。但是这样一弄,究竟在系统中如何划分内容反而不清楚了,我的本意是弄个二维的表,表中数据类型是double!这点迷糊问题还请给位看客给予解答!
我采用下面的方式重写了。下面来看看另外一种分配方式(用malloc)
呵呵!两种方式的用法就是这样来的!
我自己是有些程序用new 关键字,有些程序用malloc函数去处理。导致的结果如下。
点击继续就出现了。(我用一个C#工程调用C++写的DLL)
经过定位发现。是这一行代码。
这段代码,很简单啊!不可能出错的!
因此我怀疑很有可能的原因是就是我既用到了C 的malloc 又用到了C++ 的new原因。
YG=(double**) malloc((nB)*sizeof(double)); 它在这里定义成char[]数组类型,估计是考虑考虑memset使用的缘故吧。但是这样一弄,究竟在系统中如何划分内容反而不清楚了,我的本意是弄个二维的表,表中数据类型是double!这点迷糊问题还请给位看客给予解答!
一,实验证明混搭是错误
出现莫名错误。本来程序是这样写的。(在控制台运行良好)我采用下面的方式重写了。下面来看看另外一种分配方式(用malloc)
呵呵!两种方式的用法就是这样来的!
我自己是有些程序用new 关键字,有些程序用malloc函数去处理。导致的结果如下。
点击继续就出现了。(我用一个C#工程调用C++写的DLL)
经过定位发现。是这一行代码。
这段代码,很简单啊!不可能出错的!
因此我怀疑很有可能的原因是就是我既用到了C 的malloc 又用到了C++ 的new原因。
相关文章推荐
- new与malloc的奇怪问题?
- 问题:在编程中为了防止内存泄漏是不是只要malloc或者new都有对应的free和delete就不会有内存泄漏
- c/c++ new与malloc的区别及使用时注意的问题
- VC++6.0&&VS2008&MFC&API学习问题总结(二)(malloc/new/OnReceive)
- C++知识点随笔(四):耦合问题、new和malloc、虚析构、多继承
- 处理malloc()和new时内存耗尽问题
- 关于new 与 malloc的一个问题
- new和malloc的地址分配问题
- C++中的基础问题——virtual destructor问题,new与malloc区别
- 经典问题解析(2)---malloc和new、编译器和构造函数、静态成员
- C++中new(delete)和malloc(free)的常见问题
- VMware虚拟机磁盘操作占用过高问题(转:http://blog.csdn.net/New_When/article/details/73731149)
- byte[] bs = new byte[1024]问题
- C++中new和malloc的区别
- new,malloc,GlobalAlloc用法
- C/C++内存使用之malloc/free,new/delete
- new/delete 和malloc/free 的区别
- 关于laravel new no working一直卡着没反应问题
- malloc和 new的区别
- 关于类中new对象与构造函数执行顺序的问题