- 博客(12)
- 资源 (13)
- 收藏
- 关注
转载 AFX_MANAGE_STATE解析
MFC对于跨模块之间的调用破费心机,设计了一条STATE机制.而且设计的颇为麻烦.费了老鼻子劲终于探究了一二而已.转一篇分析的比较好的文章.http://hi.baidu.com/rootlife/blog/item/2f37e354ad8cdc5bd10906be.html这里补充几点:1._afxthreadstate 是全局的,至于每个线程中维护一个_afxthreadsta
2010-11-22 16:22:00 2027
转载 我也研究下云风的垃圾回收库
<br />在网上闲逛时发现了一个云风写的垃圾回收库和源码学习文档,我也一起研究一下,一方面弥补一下我对gc知识理解的不足,另一方面督促自己把这个不足1000行代码确足够诡异的迷你gc库看完,搞清楚原理。 <br /><br />参考: <br />源码地址:http://manualgc.googlecode.com/svn/trunk/ <br />另外一位同学写的分析文章:http://www.cppblog.com/darkdestiny/archive/2008/09/10/61528.html
2010-09-26 10:58:00 763
转载 C++接口(转载)
__declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declspec(novtable). __declspec(novtable) 就是让类不要有虚函数表以及对虚函数表的初始化代码, 这样可以节省运行时间和空间. 但是这个类一定不允许生成实例, 因为没有虚
2010-05-28 15:17:00 672
转载 COM技术初探(一)
一. COM是一个更好的 C++ 1. COM 是什么 2. 从 C++ 到 DLL 再到 COM 2.1 C++ 2.2 DLL 2.3 COM 二. COM基础 1. COM基本知识 1.1 返回值HR
2010-05-14 10:07:00 361
转载 ATL/COM 活动模板库学习步骤
ATL/COM 活动模板库首先声明本人并非COM/ATL高手,尽管本人接触他们已经有4年了,但是因为工作中的一些原因一直未能深入研究和广泛的实际的使用它们。不过回想学习它们的痛苦经历,实在是有点不堪回首。在此仅以此文和大家探讨一下学习它们的路径,以让后来人少走弯路。我个人认为学习COM是一件不简单的事情,只有一步一个脚印踏踏实实的理解每个观点和理论才能真正懂得其精髓。那样才能在
2010-05-14 10:06:00 435
原创 使用InternetOpenUrl挂起的一个解决方案
在某个同事留下的网络操作代码中,如果用户试图从网络打开一个实际并不存在的URL, 走到InternetOpenUrl这步,应用程序就一命呜呼了。这个API并没有按照文档上说的那样返回一个NULL给文件HANDLE,而是完全停止响应。他尝试使用InternetSetOption来设置超时的时限,代码里这样写DWORD n = 10000;InternetSetOption(p->Internet
2010-04-09 18:20:00 857
转载 UNREFERENCED_PARAMETER宏的解释
在winnt.h中定义:原型 #define UNREFERENCED_PARAMETER(P) (P)作用:消除程序中参数未被使用时产生的警告。如UNREFERENCED_PARAMETER(para)若參數para沒有使用到,不產生warning 另一种消除警告的方法#parama warning (disable:4000) //消除4000号警告#pa
2010-04-09 18:18:00 512
原创 定义类时枚举常量的运用
有时候我们想在类中设定一个常量,比如我们定义的数组用等等,class A{ const int SIZE = 100; int test[SIZE];//这时的SIZE的值还未定};但是类在定义的时候只是对类的声明,并不能分配空间,没有对象,所以这个时候会出错,那该怎么办呢?可以用枚举来完成:class A{ enum{SIZE1 = 100,SIZE2 = 200}; int test[SIZ
2008-11-25 14:18:00 445
原创 不错的SQL查询语句(经典)
select a.volumeName, a.checkTime,a.naturalNumber,a.readNumber,b.errorName from volume_info a,error_type bwhere a.volumeName = 2008102102 and a.errorType = b.errorType and a.errorType in (select err
2008-11-03 17:58:00 1029
原创 屏蔽vc连接ACCESS容易产生的警告:waring 4146
我在用VC连接ACCESS数据库时,遇到警告warning 4146,如下解决//************************************************************在StadAfx.h头文件里添加:#pragma warning(disable:4146) //去掉连接数据库的警告4146//****************************
2008-11-03 17:48:00 768
原创 拷贝构造和运算符重载(我解决的问题)
/*我在工作中自定义了一个类TParam,当里边只有一些基本类型(int,long...)的变量时,可以这样使用 TParam test; test = GetValue("cpps");//GetValue为一个能返回TParam 类的函数 这个时候的程序可以正常的运行。但是当我在类里添加了一个CStringArray类型的变量的时候,程序 会报错
2008-11-03 17:42:00 445
原创 (菜鸟级别)解决用VC创建新线程易出的问题error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (_
我们在用CreateThread(NULL,0,ThreadProc,NULL,0,NULL)创建线程得时候,此函数中需要新线程中的函数地址,我们常用的有两种方法解决: 一.将我们要调用的新线程函数声明成DWORD WINAPI ThreadProc(lpvoid lpParameter)。 二.我们可以将新线程函数声明成类中的成员函数:static DWORD WIN
2008-08-21 11:22:00 2724 2
水波纹效果,鼠标点击图片后产生
2011-08-29
java全屏游戏及源代码
2008-11-05
高质量C和C++语言编程指南+(PDF)
2008-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人