语言[C++]
无双Z刃
这个作者很懒,什么都没留下…
展开
-
VC++ 的MFC,ATL,COM 是什么?
一、什么是MFC 微软基础类(MicrosoftFoundationClasses),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinOS下开发人员使用的专业C++SDK(SDK,Standard SoftWare DevelopKit,专业软件开发平台),MFC就是挂在它之上的一个输助软件开发包,MFC作为与VC++血转载 2009-05-09 21:15:00 · 1093 阅读 · 0 评论 -
c++ 重载New操作符
<br /><br />一、重载规则<br />I.可以重载的操作符<br />+- */ %<br />^& |~ !<br />=>< +=-=<br />*=/= %=^=&=<br />|=>><< >>=<<=<br />==!=>= <=&&<br />||++-- ->*,<br />->[]() operator new operator new[]<br />operator delete operator delete []<br />II.不能重载的操作符<br />::..*? :<转载 2011-02-21 16:16:00 · 929 阅读 · 0 评论 -
几句话概括atl thunk技术
<br /><br />ATL的thunk技术过一段时间不看就忘记他是怎么实现的,现在概括为几句话,方便记忆.<br />CreateWindow时,第一个callback是在同一个堆栈里的,不是异步的.所以可以得到窗口对应的类的this指针.后续的callback则是异步的,得不到对应的窗口对象指针.怎么办呢,这时就用到thunk技术.<br />thunk就是在数据段模拟了一个WNDPROC的结构,但中间做了手脚,用 this指针替换了WNDPROC的HWND参数.然后把这个WNDPROC设成callb转载 2010-08-14 14:40:00 · 706 阅读 · 0 评论 -
C++ 的THUNK技术
<br />// 此程序演示 运行时 改变 指令代码 <br /> <br />//实质是 C++ 实现多态 的 THUNK 技术思想的简陋模拟 <br /><br />//在VC6.0 中编译通过。 <br /><br />#include <br />#include <br /><br /><br /><br />typedef void(*pFUN)(); //函数类型 <br /><br />#pragma pack(push,1) //强制编译器,使数据按字节边界对齐。 <br /转载 2010-08-14 14:38:00 · 778 阅读 · 0 评论 -
linux常用c头文件
<br />linux常用头文件如下:<br />POSIX标准定义的头文件<br /><dirent.h> 目录项<br /><fcntl.h> 文件控制<br /><fnmatch.h> 文件名匹配类型<br /><glob.h> 路径名模式匹配类型<br /><grp.h> 组文件<br /><netdb.h> 网络数据库操作<br /><pwd.h> 口令文件<br /><re转载 2010-06-01 01:34:00 · 610 阅读 · 0 评论 -
Google说,我们不使用C++异常
5.6. 异常Tip我们不使用 C++ 异常.优点:异常允许上层应用决定如何处理在底层嵌套函数中 “不可能出现的” 失败, 不像错误码记录那么含糊又易出错;很多现代语言都使用异常. 引入异常使得 C++ 与 Python, Java 以及其它 C++ 相近的语言更加兼容.许多第三方 C++ 库使用异常, 禁用异常将导致很难集成这些库.异常是处理构造函数失败的唯一转载 2010-05-24 21:30:00 · 3088 阅读 · 1 评论 -
嵌入式下的C语言精粹
1、为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如:/*my.h*/#ifndef MY_H#define MY_H……#endif2、常用预编译指令# 空指令,无任何效果#include 包含一个源代码文件#define 定义宏#undef 取消已定义的宏#if 如果给定条件为真,则编译下面代码转载 2010-05-20 15:43:00 · 531 阅读 · 0 评论 -
编写可移植C/C++程序要点
1.分层设计,隔离平台相关的代码。就像可测试性一样,可移植性也要从设计抓起。一般来说,最上层和最下层都不具有良好的可移植性。最上层是GUI,大多数GUI都不是跨平台的,如Win32 SDK和MFC。最下层是操作系统API,大多部分操作系统API都是专用的。 如果这两层的代码散布在整个软件中,那么这个软件的可植性将非常的差,这是不言自明的。那么如何避免这种情况呢?当然是转载 2010-05-18 22:47:00 · 473 阅读 · 0 评论 -
gcc_gdb_objdump_gprof
gcc编译步骤:预编译-->编译-->汇编-->链接-----------------------------------------------------------gcc XXX.c默认生成名为a.out的可执行文件预编译-->编译-->汇编-->链接-----------------------------------------------------------原创 2010-05-07 21:26:00 · 429 阅读 · 0 评论 -
C++ 库汇总(网址+简介)
基础类1、 Dinkumware C++ Library 参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr.Dobbs程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用Dinku转载 2009-06-24 14:20:00 · 1464 阅读 · 0 评论 -
动态链接库dll 静态链接库lib 动态导入库lib
目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”)。 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个转载 2009-05-09 17:09:00 · 3891 阅读 · 0 评论 -
自动构造--MSBuild和Team Foundation Build基础
1、MSBuild1.1、概述MSBuild(Microsoft Build Engine)是Microsoft的新的生成平台,通过MSBuild可以创建和编辑可扩展的生成解决方案。从Visual Studio 2005之后,CLR项目的生成工作就转由MSBuil转载 2009-05-10 10:28:00 · 1486 阅读 · 0 评论 -
MSBuild的深入认识
最近在从事自动构造工作的过程中,对MSBuild本身有了一些更加深入的认识。MSBuild不仅仅是一个构造工具,应该称之为拥有相当强大扩展能力的自动化平台。按照笔者现在的理解,MSBuild平台的主要涉及到三部分:执行引擎、构造工程、任务。其中最核心的就是执行引擎,它包括定义构造工程的规范,解释构造工程,执行“构造动作”;构造工程是用来描述构造任务的,大转载 2009-05-10 10:30:00 · 642 阅读 · 0 评论 -
C/C++头文件一览
C/C++头文件一览//////////////////////////////////////////////////////////////////////////C头文件(C89,C95)(C++98,C++03也包含)include //诊断库转载 2010-06-01 01:28:00 · 4305 阅读 · 2 评论