随笔分类 -  C++ Memory

摘要:很久没有写技术方面的东西了,这半年主要是在学习别人的东西,对自己提高比较大,算是一次技术回笼吧,这次学习之旅目的是结束技术方面的专注,开始向应用方面找突破口,也就是完成技术积累或者为技术的积累做坚实的准备。 c/C++的一个让人疯狂的地方就是内存管理,非法访问、越界、野指针、泄漏、内存分配器等诸多问 阅读全文
posted @ 2016-04-18 02:10 findumars 阅读(710) 评论(0) 推荐(0) 编辑
摘要:dddd 阅读全文
posted @ 2016-04-17 21:47 findumars 阅读(154) 评论(0) 推荐(0) 编辑
摘要:物理内存和虚拟内存 物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了.看机器配置的时候,看的就是这个物理内存. 如果执行的程序很大或很多,就会导致物理内存消耗殆尽.为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完 阅读全文
posted @ 2016-04-14 23:54 findumars 阅读(889) 评论(0) 推荐(0) 编辑
摘要:来自http://blog.chinaunix.net/u2/62910/showart_492571.html 假设在ANSI C程序中定义了一个名为MyStruct的结构类型,其中有一个名为MyField的字段,如何取得它在结构体中的偏移? typedef struct MyStruct_tag 阅读全文
posted @ 2016-04-05 18:06 findumars 阅读(445) 评论(0) 推荐(0) 编辑
摘要:24. AutomatedQA AQTime-AutomatedQA的获奖产品performance profiling和memory debugging工具集的下一代替换产品,支持Microsoft, Borland, Intel, Compaq 和 GNU编译器。可以为.NET和Windows程 阅读全文
posted @ 2016-04-05 00:44 findumars 阅读(25108) 评论(0) 推荐(0) 编辑
摘要:一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容来看,译者认为 阅读全文
posted @ 2016-04-05 00:42 findumars 阅读(354) 评论(0) 推荐(0) 编辑
摘要:2004 年 3 月 01 日 基本使用 对于下面这样的一个简单程序test.cpp: 我们的基本需求当然是对于该程序报告存在两处内存泄漏。要做到这点的话,非常简单,只要把debug_new.cpp也编译、链接进去就可以了。在Linux下,我们使用: 输出结果如下所示: 如果我们需要更清晰的报告,也 阅读全文
posted @ 2016-04-05 00:32 findumars 阅读(898) 评论(0) 推荐(0) 编辑
摘要:STL提供了很多泛型容器,如vector,list和map。程序员在使用这些容器时只需关心何时往容器内塞对象,而不用关心如何管理内存,需要用多少内存,这些STL容器极大地方便了C++程序的编写。例如可以通过以下语句创建一个vector,它实际上是一个按需增长的动态数组,其每个元素的类型为int整型: 阅读全文
posted @ 2016-04-05 00:25 findumars 阅读(3963) 评论(1) 推荐(1) 编辑
摘要:这日,我写下如下代码:#include <iostream>int main(void){ char *p = new char[5]; char *t = new char[5]; strcpy(t, "Hello"); strcpy(p, t); std::cout<<p<<std::endl; 阅读全文
posted @ 2016-03-18 00:55 findumars 阅读(2663) 评论(0) 推荐(0) 编辑
摘要:检测内存泄漏的主要工具是调试器和 CRT 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句: 通过包括 crtdbg.h,将 malloc 和 free 函数映射到其“Debug”版本 _malloc_dbg 和 _free_dbg,这些函数将跟踪内存分配和释放。此映射只在调试版本(在其中定义 阅读全文
posted @ 2016-03-16 21:45 findumars 阅读(3062) 评论(0) 推荐(0) 编辑
摘要:1.堆内存分配 : C/C++定义了4个内存区间:     代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。 堆的概念: 通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的 阅读全文
posted @ 2016-03-13 18:15 findumars 阅读(26403) 评论(0) 推荐(2) 编辑
摘要:C++ 对象的内存布局(上) 陈皓 http://blog.csdn.net/haoel 点击这里查看下篇>>> 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也 阅读全文
posted @ 2016-03-10 00:18 findumars 阅读(518) 评论(0) 推荐(0) 编辑
摘要:C++ 虚函数表解析 陈皓 http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技 阅读全文
posted @ 2016-03-10 00:06 findumars 阅读(4726) 评论(0) 推荐(0) 编辑
摘要:一、程序的真正入口 main或WinMain只是“语法规定的程序入口” 并不是“应用程序入口”。 我们使用VC++ 6.0 的栈回溯功能,找到main函数之前的代码。菜单View -> Debug Windows -> Call Stack 打开栈回溯窗口(快捷键 Alt + 7)。 上图显示程序运 阅读全文
posted @ 2016-02-22 23:06 findumars 阅读(1259) 评论(0) 推荐(0) 编辑
摘要:今天终于有时间来研究一下一个很大很大的工程编译成一个exe和若干dll后,程序是如果执行它的第一条指令的?操作系统以什么规则来找到应该执行的第一条指令(或说如何找到第一个入口函数的)? 我们以前写windows程序时,都是先写个main()函数,然后再写自己的逻辑;然后编译,然后点击exe就能运行我 阅读全文
posted @ 2016-02-22 22:57 findumars 阅读(7830) 评论(0) 推荐(1) 编辑
摘要:初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复 杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的 影响,这也使得内存 阅读全文
posted @ 2016-02-22 18:32 findumars 阅读(651) 评论(0) 推荐(0) 编辑
摘要:[cpp] view plain copy #include <iostream> #include <limits> using namespace std; #define SAFE_DELETE(x) \ { \ if (NULL != (x)) \ { \ delete (x); \ (x) 阅读全文
posted @ 2016-02-12 21:25 findumars 阅读(1543) 评论(0) 推荐(0) 编辑
摘要:原理分析 当调用一个虚函数时, 编译器生成的代码会调用 虚表地址[0](param1, param2)这样的函数. 已经不是在调用函数名了. 当我们将虚表地址[n]中的函数实现改为另外的函数, 虚函数的实现就由我们来控制了. 实验 根据虚表原理, 实验一下修改自己程序的虚函数表项地址. 使编译器生成 阅读全文
posted @ 2016-02-12 21:22 findumars 阅读(379) 评论(0) 推荐(0) 编辑
摘要:围观M$的new 对于new一个类, M$为了拷贝和移动时的效率问题, 使用了非标准的new语法, 为了兼容性, 只能围观. http://blog.csdn.net/lostspeed/article/details/50458432 阅读全文
posted @ 2016-02-12 21:15 findumars 阅读(249) 评论(0) 推荐(0) 编辑
摘要:前言 庖丁解牛 - <<庄子>>庖丁为文惠君解牛,手之所触, 肩之所倚, 足之所履, 膝之所踦, 砉然向然, 奏刀騞然, 莫不中音, 合于《桑林》之舞, 乃中《经首》之会.文惠君曰:"嘻, 善哉! 技盍至此乎?"庖丁释刀对曰:"臣之所好者, 道也, 进乎技矣.始臣之解牛之时, 所见无非牛者.三年之后 阅读全文
posted @ 2016-02-12 21:10 findumars 阅读(846) 评论(0) 推荐(0) 编辑