VC++
文章平均质量分 68
ThinkHY
好读书,喜编码,以构建软件为乐。
展开
-
关于异常处理:在catch语句能return吗?
转自:http://www.disandu.com/archives/1181 今天工作时无意中写出了这样的代码 bool func() { try { ...... return true; } catch()原创 2010-08-12 22:30:00 · 12494 阅读 · 4 评论 -
[经验总结]auto_ptr使用小结
auto_ptr是STL提供的智能指针,总得来讲不太好用。原创 2011-03-12 15:19:00 · 832 阅读 · 0 评论 -
[经验总结]如何在VC中去掉STL代码编译时编译错误
转自:http://bbs.jlu.edu.cn/cgi-bin/bbscon?board=Algorithm&file=M.1058575913.A&num=1估计大家编译STL的时候看着一堆一堆的无意义的警告信息都烦了吧,包含下面的头文件会让你眼前清静一下的,呵呵,这样的文件,估计在BBS上看起来会很累,所以我就没有折行,因为那样格式就坏了,更不好看,大家还是mail回去看吧不过可笑的是以前看着那些警告觉得烦人,都删除了,又觉得有些警告也挺好,就当是编译进度了,现在除了最后的结转载 2011-03-12 11:01:00 · 2254 阅读 · 0 评论 -
关于STL Allocator
看到一个线程池的实现代码里用到了STL 的Allocator,翻了一篇文章读读。原创 2011-03-11 00:23:00 · 1315 阅读 · 0 评论 -
[经验总结]MFC各种控件属性介绍(转载)
<br /><br /><br />VC++6.0控件工具箱: <br />2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)<br />3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。<br />4 编辑框(Edit Box):用来接收用户输入的字符串。通过选择编辑框的选项,编辑框转载 2011-03-07 22:05:00 · 1301 阅读 · 0 评论 -
[经验总结]SendMessage会等待消息处理结束吗
[本篇全文] [回复文章] [本篇作者:wxstorm] [回信给作者] [进入讨论区] [返回顶部][分享到 搜狐微博]1发信人: wxstorm (企鹅), 信区: VisualC标 题: SendMessage问题发信站: 水木社区 (Mon Jan 24 21:32:25 2011), 站内MSDN上说:SendMessage给另一个线程的某个窗体发送消息后,是直接发给了其消息处理函数,会等那个消息被处理后才返回。那这个消息处理函数是在哪个线程里执行的?调用SendMessage的线程还是窗体原创 2011-03-03 23:19:00 · 4540 阅读 · 0 评论 -
MFC中处理消息的顺序(转载)
<br /><br />转自:http://hi.baidu.com/bellgrade/blog/item/4b1c61c395a7d73ce4dd3b78.html<br /> <br />MFC中处理消息的顺序<br />1. AfxWndProc()接收消息,寻找消息所属的CWnd对象,然后调用AfxCallWndProc( )。<br />2. AfxCallWndProc()存储消息(消息标识符和消息参数)供未来参考,然后调用WindowProc( )。<br />3.转载 2011-02-10 22:17:00 · 855 阅读 · 0 评论 -
Windows消息概述(转载)
目录消息定义消息常量 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,消息定义 它在Windows单元中是这样声明的:typeTMsg = packed recordhwnd: HWND; //窗口句柄转载 2011-02-10 22:14:00 · 729 阅读 · 0 评论 -
Win32汇编中参数的传递和堆栈修正(转载)
在 Win32汇编中,我们经常要和 Api 打交道,另外也会常常使用自己编制的类似于 Api 的带参数的子程序,本文要讲述的是在子程序调用的过程中进行参数传递的概念和分析。转载 2011-02-10 20:55:00 · 1052 阅读 · 0 评论 -
[经验总结]一句话技巧(C++篇)
1 Q: 怎样用VC++生成汇编代码 A: cl /FAs test.c 上面的命令会在当前目录下生成test.asm,与gcc -S生成的test.s相比,cl生成汇编代码注释中带有C/C++源代码,更方便分析代码。原创 2011-02-10 20:48:00 · 680 阅读 · 0 评论 -
初读《COM技术内幕》有感
今天托同事在淘宝买了本复印的《COM技术内幕》,晚上刚看过第一章。 这本书相比《COM本质论》更加浅显易读,但道理没有《本质论》讲得透。很多概念都是悬在空中讲,没有像《本质论》那样结合应用场景描述COM的优点。 当然,现在还只是读过第一章,据说这本书以“好读”著称,等过一阵再读过几章再来发感想吧。 《本质论》后面几章太艰深,去年年初没有看下去。这一年来,结合工作上的应用,对COM的思想有了更深入的理解,但愿这次能把《技术内幕》读下去。原创 2011-02-28 21:48:00 · 926 阅读 · 0 评论 -
MFC应用程序中的多线程与UI窗口
一个困扰我一天的问题,现在已经解决了。转载 2011-02-27 00:34:00 · 4226 阅读 · 0 评论 -
[经验总结]VC++常用UI资源
记录VC++设计UI常用的资源原创 2011-01-23 23:19:00 · 1269 阅读 · 0 评论 -
X3C通用插件框架已在公网开源(转载)
<br /><br />转自: http://www.cnblogs.com/rhcad/archive/2011/01/04/1925313.html<br /> <br />X3 C++ PluginFramework 已在公网开源,地址为:<br />http://www.oschina.net/p/x3<br />http://sourceforge.net/projects/x3c/<br /> <br />可在上面网站下载代码,也可使用SVN客户端获取开发中的最新代码,地址为<br />SVN:原创 2011-01-22 11:14:00 · 1599 阅读 · 0 评论 -
[经验总结]调用WinSock的closesocket函数出现死锁的解决办法
这两天调试一个网络应用程序,出现一个很诡异的问题:程序在关闭连接时失去响应。用Process Explorer工具查看该程序的各个线程,发现一个工作线程的调用栈类似这样: stopProc ==> closesocket ==> EnterCriticalSection ==> RTEnterCriticalSection .... ....原创 2011-03-13 21:47:00 · 3302 阅读 · 0 评论 -
人性化的客户端
<br />近期分析了一些客户端软件,有了点感受。客户端现在的趋势是面向人(互动)、面向数据,这区别于以往的面向功能的方式。<br /> <br />有空我会写篇客户端软件的总结,具体介绍客户端的变迁。<br /> <br />原创 2011-03-20 20:35:00 · 707 阅读 · 0 评论 -
什么叫逻辑移位和算术移位
转自:http://romway.blog.163.com/blog/static/63898227200802945318599/1)算术移位 当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。算数左移n位相当于乘上2n,执行方法是把原来的数中每一位都向左转载 2011-07-25 23:20:56 · 3171 阅读 · 0 评论 -
Fixed a BUG of VC++ 6.0
// Fixed a BUG of VC++ 6.0 :the MSDN documentation states that for files larger than 4 gigabytes,// there is the CFileFind::GetLength64() fu原创 2011-05-18 17:03:00 · 1276 阅读 · 0 评论 -
《C++编程思想》第十章引用和拷贝构造函数(书摘)
引用时C++的一个特性,它就像能自动被编译器逆向引用的常量型指针一样。C++中引用的思想来自Algol语言。引用是支持C++运算符重载语法的基础,也为函数参数的传入传出控制提供了便利。拷贝构造函数是特殊的构造函数,需要用引用来实现从现有的相同类型的对象产生新的对象。编译器用拷贝构造函数通过传值方式来传递和返回对象。 C和C++指针的区别在于,C++是一种类型要求更强的语言。C不允许随转载 2011-06-28 00:56:00 · 874 阅读 · 0 评论 -
X3插件框架发布v1.0.9(转载)
X3 C++ PluginFramework 今天发布了新版本1.0.9,距离上个版本正好三个月,主要完善内容有:1、移植到 Linux,加入 Makefile 文件,能够基本运行起来;2、对内核文件进行局部完善,替换ConfigXml插件,移动整理工程文件,满足Win32、Linux、VC++、CodeBlocks、Makefile 的移植编译要求。 目前 X3 C+转载 2011-06-23 09:32:00 · 1448 阅读 · 0 评论 -
关于NULL的定义 (待整理)
#include #define NULL1 (void*)0; #define NULL2 0; void main(){ int* p ;// p = 0; // p = NULL1; // error p = NULL2; // ok std::cout} 是不是说明,在C+原创 2011-06-20 23:13:00 · 1185 阅读 · 0 评论 -
用IE8/9调试OCX控件
最近遇到的问题,无法用IE联调OCX控件,终于解决了,原来是IE的多进程模式在作祟,感谢SH同学指点。原创 2011-04-28 11:19:00 · 3198 阅读 · 0 评论 -
匈牙利命名规范介绍(转载)
匈牙利命名规范几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符数组)以sz为转载 2011-06-12 17:06:00 · 917 阅读 · 0 评论 -
[经验总结]多重继承及虚继承中对象内存的分布(转载)
这篇文章主要讲解G++编译器中虚继承的对象内存分布问题,从中也引出了dynamic_cast和static_cast本质区别、虚函数表的格式等一些大部分C++程序员都似是而非的概念。问题拿捏得十分到位,下面是我对原文的翻译,原文见这里(By Edsko de Vries, January 2006)。本文是介绍C++的技术文章,假定读者对于C++有比较深入的认识,同时也需要一些汇编知识。本文我们将阐释GCC编译器针对多重继承和虚拟继承下的对象内存布局。尽管在理想的使用环境中,一个C++程序员并不需要了解转载 2011-04-07 09:38:00 · 866 阅读 · 0 评论 -
A throw-expression with no operand in C++
A throw-expression with no operand re-throws the exception currently being handled. Such an expression should appear only in a catch handler or in a function called from within a catch handler. The re-thrown exception object is the original exception o原创 2011-05-26 14:35:00 · 1284 阅读 · 0 评论 -
深入理解COM的单套间--第一部分(转载)
理解套间这个概念对于COM编程非常重要!转载 2011-05-22 23:36:00 · 2150 阅读 · 0 评论 -
理解PostThreadMessage(转载)
<br /><br />把window线程间传送消息仔细的看了一遍,觉得以前的理解很不深刻。说一说对PostThreadMessage的理解。<br />PostThreadMessage是一个线程体发送一个消息到指定的线程ID,其原型如下:BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam,转载 2011-05-22 23:32:00 · 1204 阅读 · 1 评论 -
Win32关键区的一种典型用法
<br />void foo(){ volatile static long initialized; static CRITICAL_SECTION cs; if(InterlockedIncrement(&initialized) == 1) { InitializeCriticalSection(&cs); } initialized = 1; EnterCriticalSection(&cs); /原创 2011-05-19 12:49:00 · 1192 阅读 · 0 评论 -
Win32经典代码:用关键段实现读写锁
Win32经典代码:用关键段实现读写锁原创 2011-05-19 09:51:00 · 1386 阅读 · 0 评论 -
C++ Singleton模式(转载)
一篇比较全面的介绍C++单例的文章转载 2010-11-22 20:43:00 · 1011 阅读 · 0 评论 -
MFC子窗口和父窗口(SetParent,SetOwner)
转自: http://hi.baidu.com/winnyang/blog/item/c4fdcd3698b33ad1a2cc2b79.html一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-chi转载 2010-11-12 09:45:00 · 959 阅读 · 0 评论 -
[经验总结] MFC DLL——Regular DLL and Extension DLL(转载)
一直没真正理解MFC工程中各类DLL的区别,这篇文章不错。原创 2010-11-09 23:38:00 · 1277 阅读 · 0 评论 -
Google C++ 风格指南(转载)
Google C++ 风格指南 - 中文版¶版本:3.133原作者:Benjy WeinbergerCraig SilversteinGregory EitzmannMark MentovaiTashana Landray翻译:YuleFoxyospaly项目主页:转载 2009-11-29 22:51:00 · 894 阅读 · 0 评论 -
[随想]C/C++程序员
刚刚看过这篇《30 years of C》,回想了这几年的学习历程。 在大学里,我学习的第一门程序设计语言是C,但花时间最多的还是C++。大约五年前,开始啃《 C++编程思想》两卷本,用Dev-cpp在机器练习着书上的例程,之后又学习了面向对象编程、模板、STL。凭着这些纸上谈兵的经历,参加了数学建模比赛,写了几个数值计算与运筹学的小程序,小有成就感。再之后参加ACM程原创 2009-11-23 22:12:00 · 975 阅读 · 1 评论 -
[技术学习]ATL CAtlRegExp,GRETA,Boost::regex三类正则表达式库简介
本文摘要翻译了几篇文章的内容,简单介绍 ATL CAtlRegExp,GRETA,Boost::regex 等正则表达式库,这些表达式库使我们可以方便地利用正则库的巨大威力,给我们的工作提供了便利。 正则表达式语法字符元意义.匹配单个字符[ ]指定一个字符类,匹配方括号内的任意字符。例:[abc] 匹配 "a", "b"或 "c"。转载 2009-11-11 17:13:00 · 3319 阅读 · 0 评论 -
[经验总结]智能指针不是万能的
最近看Don Box的>,其中第二章提及了智能指针,作者说使用智能指针是危险的,当时我对这个观点不以为然,微软的代码中CComPt用得满天飞也没见出什么问题。不过实践才能出真知,昨天我写的一段代码中用CComPtr用出了问题,先看下面这段代码: CComPtr spNodeRectNum=spNode; if (strName == _T("ABC"))原创 2009-09-24 13:14:00 · 1224 阅读 · 0 评论 -
[经验总结]利用MSXML在不同DOM树之间拷贝结点
首先还是看一段代码: // 拷贝XML结点BOOL CPrintQuestionDlg::CopyXMLNode(CComPtr spDocSrc, const CString& strXpathSrc, CComPtr spD原创 2009-08-30 00:21:00 · 1268 阅读 · 0 评论 -
[技术学习]什么是句柄
最近转做Windows开发,天天跟句柄打交道,句柄是什么? 最开始把它当成是指针的等效物,这样理解似乎没问题,但感觉还是觉得句柄很神秘。 后来在>一书3.1节找到不完整的答案: “在32位Windows进程中,句柄是一个32位值;在64位Windows进程中,则是一个64位值。为了让操作系统知道我们要对哪个内核对象进行操作,我们需要将这个句柄传给各种Windows函数。“原创 2009-08-15 19:34:00 · 938 阅读 · 0 评论 -
[技术学习]VC++ 的MFC 和ATL 及COM 是什么?
VC++ 的MFC 和ATL 及COM 是什么? 收藏一、什么是MFC 微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的转载 2009-07-30 19:44:00 · 1201 阅读 · 0 评论 -
[技术学习]MFC的CEdit控件中实现复制、粘贴、剪切等操作的快捷键
今天在一个MFC的GUI程序中实现了一个自定义的列表控件类(CListCtrl),在这个类里嵌入了一个CEdit类以便于编辑列表项,为了实现在编辑每个列表项时能支持快捷键,在派生的CEdit类加入下面这个函数:BOOL CCustomizedListCtrl::CListEditor::PreTranslateMessage(MSG* pMsg){ // 编辑框快捷键操作原创 2009-07-23 19:29:00 · 8757 阅读 · 6 评论