基于WinDbg的内存泄漏分析
摘要: 通过WinDbg结合AppVerifier, 我们可以详细的跟踪堆中new出来的每一块内存。 很多时候在没有源代码的Release版本中,在程序运行一段时间后,如果我们发现有大内存或是大量同样大小的小内存一直没有释放, 我们就可以用上面的方法进行分析和快速的定位问题。 阅读全文Richard Wei 2013-02-27 14:35 发表评论
View ArticleLinux GDB调试++程序
GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。...
View ArticleC/C++程序中随机数的获取
首先来看如何获取代码: view plain #include #include #include int main(void) { int i;srand((unsigned)time(0)); for(i=0;i<100;i++) { printf("%5d",rand()%100);if(!((i+1)%10)) printf("\n");} }...
View ArticleC++程序的内存分配失败分析
一切缘自一位C语言开发经验非常丰富的的朋友问我的一个问题。朋友问:“C++中的new在分配内存失败时会抛出异常(std::bad_alloc)而不返回0(一些老的编译器可能还在返回0,但这样的编译器实在”太老了“),这跟C程序员的做法很不一样。而且,许多C++程序在使用new创建对象时也根本不检查这种异常。这是一种什么哲学呢?”他还提到:“一般C程序员总会判断一下malloc失败的情况,就连Linu...
View Articlehadoop笔记本
海量数据 大数据量,海量数据 处理方法总结 布隆过滤器应用 悉数那些“巨型”数据仓库 Hadoop在业界的使用情况 淘宝Hadoop集群的概况 分布式 Paxos在大型系统中常见的应用场景hadoop的实现 序 HDFS的基本概念 HDFS 读写流程 HDFS namenode源码分析 HDFS datanode源码分析...
View Articledb笔记本
mysql资源 mysql5.1中文参考手册mysql管理 基于linux使用mysql二进制包安装mysql5.5 mysql client命令行选项 mysqld服务器系统变量和状态变量 mysql SQL服务器模式 mysql 账户管理 mysql日志文件 mysql列类型 mysql数据库操作 mysql创建和删除表 mysql修改表 mysql索引操作...
View Article2013我有梦
2013我有梦 找到心灵的声音,并坚持沿着它走下去,需要勇气,需要付出,需要忍耐,需要很多。 早已经不像以前傻傻在老家望着傍晚续续落下的夕阳憧憬山外的世界,昔日的想象浇灌着我成长。心灵的必复跌宕正是印证了事物发展的反复性,否定-肯定-否定之否定 是发展的过程,心理历程也如此!...
View ArticleMFC 下拉框下拉条目宽、高根据内容自动设置
有时候下拉框(MFC标准叫组合框,CComboBox)中条目文本很多,超过了下拉框的宽度,如果不加设置的话,超过的部分文本将无法显示,查找MSDN,发现解决方法,代码如下: 代码 // The pointer to my combo box. extern CComboBox* pmyComboBox; // Set the height of every item so the...
View ArticleOnCtlColor函数来改变控件颜色
在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型: afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor); 参数nCtlColor用于指定控件的类型,可以是:...
View Articlelinux 维护
SSH配置: 1、修改vi /etc/ssh/sshd_config,根据模板将要修改的参数注释去掉并修改参数值: Port 22 指定SSH连接的端口号,安全方面不建议使用默认22端口 Protocol 2,1 允许SSH1和SSH2连接,建议设置成 Protocal 2 其他参数根据自己的需要进行调整。配置方法详见: man ssh_config 2、修改hosts.deny 在最后面添加一行:...
View ArticleTreeControl使用与美化
TreeCtrl的扩展类,可以改节点字体颜色和背景色类下载:http://www.codeproject.com/treectrl/simptree.asp 其中有CSimpleTreeCtrl类和MyNewTreeCtrl类两个 CSimpleTreeCtrl类继承自CTreeCtrl,而MyNewTreeCtrl类继承自CSimpleTreeCtrl类...
View Article研究基于C++二维数组的几个问题
二维数组使用一般有两种情况,一种是描述一个二维的事物。比如用1表示墙,用0表示通路,我们可以用二维数组来描述一个迷宫地图;用1表示有通路,0表示没有通路,我们可以用二维数组来描述几个城市之间的交通情况。还有一种是描述多个具有多项属性的事物。比如有多个学生,每个学生有语文、数学和英语三门成绩,我们就可以用二维数组来描述。对二维数组使用过程中的几个问题进行探究。...
View ArticleC++Builder的多线程编程中一些体会
CB相对于VC来说,在CB下写多线程程序是很简单的。不仅是VCL中有TThread这个类。封装了那些关于多线程的WINDOW...
View ArticleTreeControl子节点checkbox跟随父节点checkbox状态发生改变
方法一:void CTreeTest_demoDlg::ChangeTreeItemAll(CTreeCtrl &tree, HTREEITEM hItem,BOOL bSelect) { HTREEITEM x = tree.GetChildItem(hItem); if(NULL == x) return; do { tree.SetCheck( x, bSelect );...
View Article【AHOI2013复仇】动态凸包
摘要: 原题地址写了几天终于写出来了……(显然,我太弱了,请各位神犇不要鄙视)在有加点的情况下,动态地维护凸包,有以下两种方法:<1>维护上、下凸壳(本沙茶采用的方法):凸包可以拆成上、下凸壳,对它们分别维护。两个凸壳均按照下面定义的<关系(即先x增、再y增)排序,注意,两个凸壳的两端是相同的,均为整个凸包的最小点与最大点,除两端外,它们没有公共定点。以上凸壳为例......
View ArticleC++以定点形式显示浮点数和设置小数部分的有效数字
cout.setf(ios::fixed); //以定点形式显示浮点数cout.precision(4); //设置小数部分的4位有效数字hoshelly 2013-02-28 21:55 发表评论
View ArticleC++整数、浮点数、结构体的返回值
#include "stdafx.h"struct person{ int age; int sex; char name[20];};struct person GetPerson(int age,int sex,char* name){ struct person p; p.age = age; p.sex = sex;...
View ArticleDLL中传递STL参数,vector对象作为dll参数传递等问题(转)
STL跨平台调用会出现很多异常,你可以试试.STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下面是详细解释。原因分析:一句话-----如果任何STL类使用了静态变量(无论是直接还是间接使用),那么就不要再写出跨执行单元访问它的代码。...
View Article