上一页 1 ··· 70 71 72 73 74 75 76 77 78 ··· 93 下一页
摘要: RTTI特性是C++语言加入较晚的特性之一。和其他语言(比如JAVA)相比,C++的RTTI能力算是非常差的。这与C++的设计要求应该有重要的关 系:性能。没错,性能的因素使得C++的很多地方不能称的上完美,但是也正因为如此,在高级通用语言里面,只有C能和C++的性能可以相提并论。 1:typeid 阅读全文
posted @ 2009-08-05 16:57 dzqabc 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 多态性 (polymorphism) 是面向对象编程的基本特征之一。而在 C++ 中,多态性通过虚函数 (virtual function) 来实现。我们来看一段简单的代码: #include <iostream>using namespace std;class Base{ int a;public: virtual void fun1() { cout << "Base::fun1()" << endl; } virtual void fun2() { cout << "Base::fun2()" &l 阅读全文
posted @ 2009-08-05 16:52 dzqabc 阅读(442) 评论(2) 推荐(0) 编辑
摘要: 会用CMap了,其他的基本也就会了,很容易理解。 映射表类(CMap)是MFC集合类中的一个模板类,也称作为“字典”,就像一种只有两列的表格,一列是关键字,一列是数据项,它们是一一对应的。关键字是唯一的,给出一个关键字,映射表类会很快找到对应的数据项。映射表的查找是以哈希表的方式进行的,因此在映射表中查找数值项的速度很快。举个例子来说吧,公司的所有职员都有一个工号和自己的姓名,工号就是姓名的关键字,给出一个工号,就可以很快的找到相应的姓名。映射类最适用于需要根据关键字进行快速检索的场合。 常用CMap: CMapWordToPtr 保存void指针,关键字为WORD CMapPtrToWord 阅读全文
posted @ 2009-08-05 15:51 dzqabc 阅读(5533) 评论(1) 推荐(1) 编辑
摘要: C 风格(C-style)强制转型如下: (T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(expression) // cast expression to be of type 阅读全文
posted @ 2009-08-05 13:16 dzqabc 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 路由器的所有LAN口就是一个交换机。把路由器当纯交换机用,就是舍弃空置WAN口,把所有PC的网线都接到LAN口上面,把从前端过来的级联线(你所谓的进线)插到另外一个LAN口上面。关键要注意的,一定要关闭这台路由器的DHCP功能,以免它自作主张分配IP地址给别的电脑,把IP分配错了。因为一个网段里面出现两个DHCP服务器,客户端电脑在发出DHCP请求的时候,最近的那个会先响应客户端请求并给客户端返回IP地址等参数,这样相当于把前端那个路由器的DHCP服务给拦截掉了。此时,连接到这台“交换机”(路由器)上的电脑的IP地址是由前端路由器分配的,只要前端路由器的DHCP功能正常,这些电脑就可以正常上网 阅读全文
posted @ 2009-08-05 09:56 dzqabc 阅读(1174) 评论(0) 推荐(0) 编辑
摘要: 在程序执行期间它必须生成代码进行必要的维护操作。相反地由于解释程序可以在其自己的数据结构中直接维护环境,因而它的任务就很简单.由于代码区在执行之前是固定,所以在编译时所有代码的地址都是可计算的典型的组织是将这个存储器分为栈( s t a c k )区域和堆( h e a p )区域.运行时环境:自变量(参数)空间用作薄记信息的空间,它包括了返回地址用作局部数据的空间用作局部临时变量的空间处理器寄存器也是运行时环境的结构部分. 阅读全文
posted @ 2009-08-04 17:12 dzqabc 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入系统。钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时在钩子函数中就可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。 在本程序中我们需要捕获在任意窗口上的键盘输入,这就需要采用全局钩子以便拦截整个系统的消息,而全局钩子函数必须以DLL(动态连接库)为载体进行封装,VC6中有三种形式的MFC DLL可供选择,即Regular statically linked to MFC DLL(标准静态链接MFC DLL)、Regular us 阅读全文
posted @ 2009-08-04 14:38 dzqabc 阅读(1337) 评论(0) 推荐(0) 编辑
摘要: 如何从dll文件导出对应的lib文件? Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。 1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def 2、编辑 yourdll.def 文件,使之格式与.def文件格式一致。比如: EXPORTS; fn1; fn2; 3、在命令行执行: lib /def:yourdll.def /machine:i386 /out:yourdll.lib//为无LIB的DLL制作LIB函数符号输入库本文介绍 阅读全文
posted @ 2009-08-04 13:46 dzqabc 阅读(15273) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口。但是,QueryInterface实现的原理,并不是大家都很清楚,也没有哪本书仔细讲了这点。我将个人心得写下来,供有需要的人查看。首先,我们看一下基本的COM实现。一般来说,COM是 通过多继承实现多个接口,如下图而对应的QueryInterface实现如下HRESULT实现类::QueryInterface(constIID&iid,void**ppv)...{ if(iid==IID_IUnknown) *ppv=(接口一*)this; else if(ii 阅读全文
posted @ 2009-08-04 12:50 dzqabc 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: getbuffer是为了让你使用CString类中,保存字符串缓冲区的那块指针. 至于releasebuffer,在MSDN中有这样一句话. If you use the pointer returned by GetBuffer to change the string contents, you must call ReleaseBuffer before using any other CString member functions. 在对GetBuffer返回的指针使用之后需要调用ReleaseBuffer,这样才能使用其他Cstring的operations。否则会发生错误. 首. 阅读全文
posted @ 2009-08-03 14:34 dzqabc 阅读(3763) 评论(0) 推荐(0) 编辑
上一页 1 ··· 70 71 72 73 74 75 76 77 78 ··· 93 下一页