C++
wunaidepao
这个作者很懒,什么都没留下…
展开
-
windos下的内存分配
最近封装DLL库,发现程序推出的时候总是会有一些LOG,显示部分内存没有回收。调试发现,这些没有回收的内存不是我的代码的逻辑造成,而是和DLL的一些特性相关。然后研究了一下,windows下的内存分配的相关知识。crtd__malloc_dbg 是debug模式下,NEW操作实际调用的函数,这个函数会分配内存,但是你NEW出来的内存会被包装一下,下面的这个结构体就是用来包装的。typedef原创 2016-10-12 11:01:33 · 290 阅读 · 0 评论 -
C++ 到 Java 再到 C++
最近把公司项目的一个消息插件换成JAVA,要在C++层调用java,在java里面会有自身的回调,然后我想在这个回调里面调回到我的c++代码里面。 之前做过C++到C#之间的调用,拿一套语法很复杂诡异,我以为C++和JAVA之间的互相调用也很复杂,等我搞定之后,发现,简直方便快捷。 下面说一下步骤。 1,我用的是VS2010,安装了JDK1.8。 2,要写一个JAVA类,如下。package原创 2016-10-25 18:48:55 · 410 阅读 · 0 评论 -
dll中的内存分配调试
最近终于把每次程序退出的时候,一大堆的内存泄露LOG的问题解决了。在说这个问题之前,先分析一下DLL中的内存分配,说到DLL的内存分配,先说说windowsDLL编译。在VS上编译的时候,有MT,MD之分,后面再加个D指的是debug版本。那么这两个版本,有什么区别。区别是,MT会把windows下的运行时依赖的库,静态的联编到DLL中,而MD是动态的连接。那么这两个会导致的区别就是,MT编的D原创 2016-10-18 16:23:19 · 1116 阅读 · 0 评论