内容列表
- MFC程序中如何创建多级目录
- 创建多级目录函数
BOOL mkdirEx(const char* lpPath)
{
CString pathname = lpPath;
if(pathname.Right(1) != "\\
- 分类:VC语言 查阅全文
- 在MFC程序中如何注册/注销ActiveX控件(.OCX)
- 在程序中注册ActiveX控件(.OCX)的函数
BOOL RegisterOcx(LPCTSTR OcxFileName)
{
LPCTSTR pszDllName = OcxFileName ;
- 分类:VC语言 查阅全文
- C与C++中的异常处理14
- 1. 模板安全
上次,我开始讨论异常安全。这次,我将探究模板安全。
模板根据参数的类型进行实例化。因为通常事先不知道其具体类型,所以也无法确切知道将在哪儿产生异常。你大概最期望的就是去发现可能在哪儿抛异常。这样的行为很具挑战性。
看
- 分类:VC语言 查阅全文
- C与C++中的异常处理
- 1. 异常和标准C对它的支持
(前言略)
1.1 异常分类
基于Dr. GUI的建议,我把我的第一个专栏投入到“程序异常”的系列上。我认识到,“exception”这个术语有些不明确并和上下文相关,尤其是C++标准异常(C++ standard excepti
- 分类:VC语言 查阅全文
- C与C++中的异常处理2(part2)
- 1.1 版本3:恢复异常
接下来,改:
__except(except_filter(3, EXCEPTION_CONTINUE_SEARCH))
为:
__except(except_filter(3, EXCEPTION_CONTINUE_EXECUTION))
&nbs
- 分类:VC语言 查阅全文
- C与C++中的异常处理3
- 1. 标准C++异常处理的基本语法和语义
这次,我来概述标准C++异常处理的基本语法和语义。顺便,我会将它和前两次提到的技术进行比较。(在本文及以后,我将标准C++异常处理简称为EH,将微软的方法称为SEH。)
1.1 基本语法和语义
- 分类:VC语言 查阅全文
- C与C++中的异常处理2(part1)
- 1. Microsoft对异常处理方法的扩展
前次,我概述了异常的分类和C标准库支持的处理方法。这次讨论Microsoft对这些方法的扩展:结构化异常处理(SEH)和Microsoft Foundation Class (MFC)异常处理。SEH对C和C++都有效,MFC异常体系只对C++有效。
- 分类:VC语言 查阅全文
- C与C++中的异常处理5
- 1. C++的new和delete操作时的异常处理
今天,我们开始学习C++的new和delete操作时的异常处理。首先,我将介绍标准C++运行库对new和delete操作的支持。然后,介绍伴随着这些支持的异常。
1.1 New和Delete表达式
 
- 分类:VC语言 查阅全文
- C与C++中的异常处理12
- 1. unexpected()的实现上固有的限制
上次,我介绍了C++标准运行库函数unexpected(),并展示了Visual C++的实现版本中的限制。这次,我想展示所有unexpected()的实现上固有的限制,以及绕开它们的办法。
1.1  
- 分类:VC语言 查阅全文
- CWinApp类成员
- CWinApp类成员
数据成员构造函数操作符可重载函数初始化命令操作
数据成员
m_pszAppName
指定了应用程序的名字
m_hInstance
标识了应用程序的当前实例
m_hPrevInstance
在32位应用程序中被设为NULL
m_lpCmdLine
指向一个以null结尾的字符串,指定了应用程序的命令行
m_nCmdShow
指
- 分类:VC语言 查阅全文
- C与C++中的异常处理7
- 1. 部分构造及placement delete
讨论在一般情况下的部分构造、动态生成对象时的部分构造,以及用 placement delete来解决部分构造问题。
C++标准要求标准运行库头文件<new>提供几个operator delete的重载形式。在这些重载形式中,Visu
- 分类:VC语言 查阅全文
- FileSystemObject(FSO) 示例代码
- FileSystemObject示例代码
在本节描述的示例代码,提供真实的例子来示范在 FileSystemObject 对象模式中可用的许多功能。该代码显示了如何一起使用对象模式的所有功能,以及如何在您自己的代码中有效地使用这些功能。
请注意,由于该代码是极一般的,所以要使该代码能够真正在您的机器上运行,可能需要一些其他代码和小小的变更。这些改变之所以必要,是因为在 Active Serv
- 分类:VC语言 查阅全文
- C与C++中的异常处理8
- 1. 自动删除,类属new和delete、placement new 和placement delete
在上次结束时,我期望道:当一个新产生的对象在没有完全构造时,它所占用的内存能自动释放。很幸运,C++标准委员会将这个功能加入到了语言中(而不幸的是,这个特性加得太晚了,许多编译器还不支持它)。Visual
- 分类:VC语言 查阅全文
- C与C++中的异常处理9
- 1. placement new 和placement delete,及处理构造函数抛出的异常
当被调用了来清理部分构造时,operator delete的第一个void *参数带的是对象的地址(刚刚由对应的operator new返回的)。operator delete的所有额外placement参数都和传给
- 分类:VC语言 查阅全文
- C与C++中的异常处理10
- 1. 从私有子对象中产生的异常
几部分来,我一直展示了一些技巧来捕获从对象的构造函数中抛出的异常。这些技巧是在异常从构造函数中漏出来后处理它们。有时,调用者需要知道这些异常,但通常(如我所采用的例程中)异常是从调用者并不关心的私有子对象中爆发的。使得用户要关心“不可见”的对象表明了设计的脆弱。
&
- 分类:VC语言 查阅全文
- C与C++中的异常处理11
- 1. 异常规格申明
现在是探索C++标准运行库和Visual C++在头文件<exception>中申明的异常支持的时候了。根据C++标准(subclause 18.6,“Exception handling” )上的描述,这个头文件申明了:
l &n
- 分类:VC语言 查阅全文
- C与C++中的异常处理4
- 1. 实例剖析EH
到现在为止,我仍然逗留在C和C++的范围内,但这次要稍微涉及一下汇编语言。目标:初步揭示Visual C++对EH的throw和catch的实现。本文不是巨细无遗的,毕竟我的原则是只关注(C/C++)语言本身。然而,简单的揭示EH的实现对理解和信任EH大有帮助。
1.1 &nbs
- 分类:VC语言 查阅全文
- mfc接收器实现深度历险
- mfc接收器实现深度历险 看过几本讲COM的书,知道了ActiveX对象事件的发出是通过连接点源对象实现的,事件的接收是通过实现了IDispatch的接收器实现。目前许多书都只是讨论了mfc编程中连接点源对象的编程实现方法,而没有讨论接收器的实现方法,原因很简单,因为class wizard代替我们实现了接收器和dispid
- 分类:VC语言 查阅全文
- 用WinInet下载xml受挫的经历
- 这一日,我祭起WinInet类下载CSDN的XML文件,遇到了个莫名其妙的问题……
现将问题和解决办法粘贴于此,如果你遇到类似问题大可用类似方法尝试解决。
其中实现GET请求的代码如下:
void CInternet::Get(CString &csResponse,//返回的内容 const char *szServer,/
- 分类:VC语言 查阅全文
- C++存储修饰符解释 zosatapo(原作)
-
C++存储修饰符解释(纯理论部分)
在C++中,存储空间主要是指变量或者函数或者类(下文中为了方便都称为标识符)的可见性和使用范围。为此C++提供下面几个存储空间修饰(storageclassspecifiers),这些修饰符告诉编译器标识符的生存周期和可见性(可以理解为可引用性),以及这些标识符是应该如何被存储。
生存空间修饰符:autoregisterstaticexter
- 分类:VC语言 查阅全文