上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: 内存使用常见问题 mtrace检测内存泄露memwatch检测内存泄露 memwatch使用简化Dmalloc检测内存泄露valgrind检测内存泄露mpatroldbgmemElectric Fence钩子函数检查内存泄露C++内存泄露检测器(库注入方法) 网站: http://elinux.org/Memory_Debuggers http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/ 阅读全文
posted @ 2013-09-05 08:53 renhl 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 简介: valgrind检测内存泄露工具。功能非常强大,具体详见http://www.valgrind.org/。 这里只介绍内存检测部分。 参考实例: http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/安装: ① 下载 http://www.valgrind.org/ ② 安装 tar jxvf valgrind-3.8.1.tar.bz2 cd valgrind-3.8.1 ./configure --prefix=/usr make make install使用: valgrind --tool=memcheck --lea 阅读全文
posted @ 2013-09-05 08:46 renhl 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 简介: Dmalloc检测内存泄露工具。安装: ① 下载 http://dmalloc.com/releases/ ② 安装 tar zxvf dmalloc-5.5.2.tgz cd dmalloc-5.5.2 ./configure --prefix=/usr make make install使用: ① 环境变量设置 /root/.bashrc文件最后一行追加function dmalloc { eval `command dmalloc -b $*`; } ② 退出root,重新登陆root ③ 编译时,需追加DMALLOC和DMA... 阅读全文
posted @ 2013-09-05 08:29 renhl 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 问题: 每次都需要编译memwatch.c对应: 将memwatch.c制作成静态库。安装: ① 准备 将makefile memwatch.c memwatch.h置于同一目录。 其中makefile文件内容如下:1 all:2 gcc memwatch.c -c -o memwatch.o3 ar -rc libmemwatch.a memwatch.o4 rm -f memwatch.o5 mv libmemwatch.a /usr/lib6 cp memwatch.h /usr/include ② 安装 make实例: 1 //gcc -DMEMWATCH tes... 阅读全文
posted @ 2013-09-05 07:50 renhl 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 简介:memwatch简单易用,能检测未被释放的内存,释放多次的内存。安装:① 下载http://www.linkdata.se/sourcecode/memwatch/② 解压找出 memwatch.c、memwatch.h即可。使用:① 编译时,需追加MEMWATCH(使用memwacth,详见memwatch.h)、MW_STDIO(在控制台输出提示)宏值实例:① 手顺gcc -DMEMWATCH -DMW_STDIO test.c memwatch.c -o test./test② 代码 1 #include 2 #include 3 #include 4 #ifdef MEMW... 阅读全文
posted @ 2013-09-05 07:30 renhl 阅读(958) 评论(0) 推荐(1) 编辑
摘要: 简介:mtrace是由glibc提供的一个工具,主要作用是查找内存泄露。安装:.....使用:① 给环境变量MALLOC_TRACE设定一个文件名,用于输出log。② 待测代码中追加mtrace()和muntrace()。③ 编译注意追加-g实例:① 手顺export MALLOC_TRACE=/tmp/mtrace_loggcc test.c -DDMALLOC_TRACE_TEST -g -o test./testunset MALLOC_TRACEmtrace test /tmp/mtrace_log② 代码 1 #include 2 #include 3 #include 4 #... 阅读全文
posted @ 2013-09-04 23:43 renhl 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 2.1.4.1 环境变量存储2.1.4.2 新增环境变量字符串指针数组堆上申请内存,新增的环境变量堆上申请内存。2.1.4.3 修改环境变量修改后的环境变量申请内存2.1.4.4 释放环境变量字符串指针数组中将对应的变量字符串指针删除。(后向前移动删除) 1 #include 2 #include 3 4 extern char **environ; 5 6 int main() 7 { 8 char **env = environ; 9 10 printf("environ = %p\n", environ);11 while(*env)12 ... 阅读全文
posted @ 2013-08-29 23:52 renhl 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 设计原则 一、单一职责原则--SRP 二、开放封闭原则--OCP 三、Liskov替换原则--LSP 四、依赖倒置原则--DIP 五、接口隔离原则--ISP设计模式创建型: 一、Singleton 单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory 抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method 工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。 四、Builder 建造模式:将一个复杂对象的... 阅读全文
posted @ 2013-07-10 22:07 renhl 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1、netstat -anp | grep 端口号 -a, --all, --listening display all sockets (default: connected) -n, --numeric don't resolve names -p, --programs display PID/Program name for sockets 结果: udp 0 0 192.168.19.136:8888 0.0.0.0:* 2491/server 阅读全文
posted @ 2013-07-10 20:15 renhl 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 深度优先遍历 二叉树的遍历有三种方式,如下:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树。简记根-左-右。(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。(3)后序遍历(LRD),首先遍历左子树,然后遍历右子树,最后访问根结点。简记左-右-根。总结:左右顺序不变 前中后是指的根节点。 如前序为根左右、中序为左根右、后序为左右根。广度优先遍历 层次 • 代码例子 http://renhl252.blog.163.com/blog/static/2122100720097255425518/二叉树的遍历(递归(先、中、后)... 阅读全文
posted @ 2013-07-10 08:53 renhl 阅读(201) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页