- 博客(14)
- 资源 (57)
- 收藏
- 关注
原创 常被人忽略的一些语法问题
学习C++两个年头了,在学习的过程中经常碰到一些看似很简单,但却经常被人忽略的语法问题。在此我整理一下自己在学习过程中范的一些小错误,错误虽小,但却必须重视。第一个问题:#include #include using namespace std;void main(){ int i = 2, j; j = i++ + ++i; cout << j <<endl; //等于
2013-03-23 17:27:15 1804 6
原创 RTTI
首先举个运行时类型识别的例子:// RTTI.cpp - a demonstration of RTTI in C++#include //与RTTI相关#include #include class graphicImage{protected: char name[80];public: graphicImage() { str
2013-03-17 23:24:41 1435
原创 模式与非模式对话框的种种
模式和非模式对话框都共用同一个基类CDialog,但是它们的创建和销毁却都不相同。接下来,说说它们具体有那些不同。首先从创建开始:模式对话框通过DoModal来创建,构造函数要以资源ID作为参数。无模式对话框通过Create创建,默认构造函数可以无参数。virtual int DoModal();函数返回可以是IDOK或IDCANCELBOOL Create(UINT
2013-03-09 22:01:24 2703
转载 微软VC各版本BUG: error C2660: 'new' : function does not take 3 parameters
今天在用GDI+写程序时,有 HatchBrush * brushDotDiamond =newHatchBrush(HatchStyle25Percent,color);用VC6 SP6或VS2005编译错误为error C2660: 'new' : function does not take 3 parameters这是VC的一个BUG,微软至今还没有解除。解决办法如下:
2013-03-09 14:06:57 1037
转载 语义的需要
断言 断言准确的说应该算是一门语言无关的技术,不过其在代码的编写中占有重要地位,不能不提。断言就是在代码的调试版时会由于一表达式的值而弹出警告对话框,但是在释放版时不造成任何影响。断言表示在其所在位置,对应表达式的值应该满足的条件,不是可以满足的条件。 断言的一般用途很多地方都说成是帮助调试。其实其用途和const变量及const成员函数一样,“帮助调试”只是其附加效果,它的真
2013-03-09 09:25:06 1133
原创 vs中检测内存泄漏的方法
使用vs的内存检测有以下几种方法。在debug模式下以F5运行:方法一:#define CRTDBG_MAP_ALLOC #include #include //在入口函数中包含 _CrtDumpMemoryLeaks(); //即可检测到内存泄露//以如下测试函数为例:int main(){ char* pChars = new cha
2013-03-08 21:44:04 44965 4
转载 检测内存泄露的原理
检测内存泄漏的关键是要能截获住对分配内存和释放内存的函数的调用。截获住这两个函数,我们就能跟踪每一块内存的生命周期,比如,每当成功的分配一块内存后,就把它的指针加入一个全局的list中;每当释放一块内存,再把它的指针从list中删除。这样,当程序结束的时候,list中剩余的指针就是指向那些没有被释放的内存。这里只是简单的描述了检测内存泄漏的基本原理,详细的算法可以参见Steve Maguire
2013-03-08 21:05:29 5274 2
原创 DDX_Control关联资源的原理
DDX_Control关联资源的原理DDX_Control函数管理着在对话框、表格视或控件视中被子类化的控件与对话框、表格视或控件视的CWnd数据成员之间的数据交换。其实说白了,就是将资源(如按钮)与类对象(CButton)关联在一起,也就是绑定起来。DDX_Control的使用:在对话框类头文件中定义m_btnOK对象CButton m_btnOK;然后在DoData
2013-03-06 23:54:33 5561 1
转载 MFC界面包装类
MFC界面包装类——多线程时成员函数调用的断言失败 经常在论坛上看到如下的问题:DWORD WINAPI ThreadProc( void *pData ) // 线程函数(比如用于从COM口获取数据){ // 数据获取循环 // 数据获得后放在变量i中 CAbcDialog *pDialog = reintERPret_cast( p
2013-03-06 23:35:40 1833
原创 标准模版库学习之关联式容器
setstd::set iset;std::set::iterator it = iset.insert(4).first;(*it)++; // error. 原因:std::set的迭代器不能修改对应的元素. //语法上不会报错,程序中也可以修改,但会破坏有序性,set可能表现出非预期的行为这是因为:std::set的特点是:1. 对于插入、删
2013-03-03 16:48:13 1112
原创 标准模版库学习之序列式容器
vector/**目的:学习vector容器的使用。*程序输出:hello, how are you ?max_size(): 134217727size(): 5capacity(): 5hello, you are how always ! max_size(): 134217727size(): 6capacity
2013-03-03 16:44:19 963
原创 一个程序员的奋斗路程
首先声明我不是作者,这篇文章是我从我的QQ空间中专门拷过来的,因为我想用它来时刻提醒自己。这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数
2013-03-02 20:29:20 1342 1
转载 匿名管道,重定向PING中的数据
#include #include void go(HWND hwnd){ char * ping = "IPCONFIG /all"; // 命令 char pbuf[1024]; // 缓存 DWORD len; STARTUPINFO si; PROCESS_INFORMATION pi; HANDLE hRead1, hWrite1; // 管道读
2013-03-02 15:32:41 1685
转载 BCG界面库在VC工程中的应用步骤
BCG界面库在VC工程中的应用步骤(2008-12-08 16:19:26)BCGControlBar Library Professional Edition installation:整个库的源代码安装在\BCGCBPro 目录下面.可执行文件(*.dll)安装在 \Bin (for VisualStudio 6.0)或\Bin7 (for VisualStudio .NET)
2013-03-01 18:46:41 1303 1
CxSkinButton
2013-11-11
文字转语音文字朗读文字生成MP3
2018-08-28
语音转文字录音转文字语音识别
2018-08-28
监控视频人脸搜索,视频人脸导出
2018-08-27
音频降噪录音去噪语音降噪
2018-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人