摘要: @echo offattrib -s -h -r -afor /f "delims=" %%i in ('dir /a:-d/b/s') do ( move /y "%%i" "%cd%" )for /f "delims=" %%j in ('dir /a:d/b') do ( RD /s/q "%%j" )exit将以上保存为bat文件即可. 阅读全文
posted @ 2010-11-25 11:12 靓点博客 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 描述一下运行环境,几个存放MDI Child 子窗体的DLL和一个管理这些子窗体MDI主程序.在主程序中动态调入DLL子窗体首先,DLL中的Application和MDI主程序中的Application是不同样的。要将MDI主程序中的Application替换掉DLL中的Application其次,在工程->属性->packages->Runtime packages->勾选Build with runtime packages,重新编译。这个也是最让人晕的 阅读全文
posted @ 2010-11-03 00:18 靓点博客 阅读(1699) 评论(0) 推荐(0) 编辑
摘要: 应用程序调用WSAAsyncSelect()函数后,自动将套接字设置为非阻塞模式.套接字变成非阻塞模式,所以再调用阻塞函数时一般都是返回WSAEWOULDBLOCK。 阅读全文
posted @ 2010-09-04 15:00 靓点博客 阅读(240) 评论(0) 推荐(0) 编辑
摘要: ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。8bit的ANSI编码只能表示256种字符。UNICODE可表示成千上万个字符。typedef unsigned short wchar_t;例如,如果想要创建一个缓存,用于存放最多为99 个字符的Unicode 字符串和一个结尾为零的字符,可以使用下面这个语句:har_t szBuffer[100];标准的ANSI C 字符串函数和它们的等价Unicode函数char * strcat(char *,const char *);wchar_t * wcscat(wchar_t *,const wchar_t *);char 阅读全文
posted @ 2010-08-30 11:04 靓点博客 阅读(1520) 评论(0) 推荐(0) 编辑
摘要: 一、C++标准异常try{ …… throw <exception-data> ……}catch (<exception-declaration 1>){ ……}catch (<exception-declaration 2>){ ……}try块中的throw会抛出一个数据<exception-data>,比如一个整数,一个字串,或是其他自定义类型的数据。这时,当前程序中止执行,开始查找catch入口。throw抛出的数据类型与catch入口的<exception-declaration>数据类型必须匹配,这一点类似函数调用的形参、实 阅读全文
posted @ 2010-08-30 10:56 靓点博客 阅读(2844) 评论(0) 推荐(0) 编辑
摘要: MFC较好地将异常封装到CException类及其派生类中,自成体系,下表给出了MFC 提供的预定义异常:异常类 含义 CMemoryException 内存不足 CFileException 文件异常 CArchiveException 存档/序列化异常 CNotSupportedException 响应对不支持服务的请求 CResourceException Windows 资源分配异常 CDaoException 数据库异常(DAO 类) CDBException 数据库异常(ODBC 类) COleException OLE 异常 COleDispatchException 调度(自动 阅读全文
posted @ 2010-08-05 23:53 靓点博客 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 如果在程序的代码中出现了异常情况——也就是说,通过当前语境无法获得足够的信息以决定应该采取什么样的措施——程序员可以创建一个包含错误信息的对象并把它抛出当前语境,通过这种方式将错误信息发送到更大范围的语境中去。这种方式被称为“抛出一个异常”。 try块 如果在一个函数内部抛出了异常(或者被这个函数所调用的其他函数抛出了异常),这个函数就会因为抛出异常而退出。如果不想因为一个throw而退出函数,可以在函数中试图解决实际产生程序设计问题的地方(和可能产生异常的地方)设置一个try块。这个块被称做try块的原因是程序需要在这里尝试调用各种函数。try块只是一个普通的程序块,由关键字try引导:t. 阅读全文
posted @ 2010-08-05 23:28 靓点博客 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 从语法上,在C++中(只讨论C++中)。class和struct做类型定义时只有两点区别: (一)默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理; (二)成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。 除了这两点,class和struct基本就是一个东西。语法上没有任何其它区别。 不能因为学过C就总觉得连C++中struct和class都区别很大,下面列举的说明可能比较无聊,因为struct和class本来就是基本一样的东西,无需多说。但这些说明可能有助于澄... 阅读全文
posted @ 2010-04-21 13:47 靓点博客 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 今天VC2008忽然又出现断点无效了,按上次博客说的格式化了源文件,也删了编译工程数据库文件,问题依就.经过测试找到了终解决方法其实出现这个问题常常出现在工程中某一个源文件中,多是文件内的一些不可视符出了问题,比较多的是由于制表符Tab(0x09)引起的在无法点的源文件打开再把内容全选(Ctrl+A),然后在菜单 “编辑”-“高级”-“设置选定内容的格式”。要是还是无效可以用UltraEdit解决,用UltraEdit打开源文件,然后在UltraEdit-菜单-视图-显示空格/制表符打上构,这时再看看源文件找到不正常的地方删除就解决问题了如下图:那个分号后面的">"符 阅读全文
posted @ 2010-03-24 10:40 靓点博客 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 一般来讲, 在服务器上,如果有足够的资源,Winsock server,理论上可以支持成千的并发连接。而现实是,我们没有足够的资源可供使用,分配。本文主要来讨论一下内存资源之于Winsock server开发的重要性。一)基本概念。-> Pages,Locked Pages. 在现代操作系统中,内存管理会把主存(RAM)分成Pages来管理。 Paging(或者swapping)指的是主存与外存之间以Page为单位进行数据的交换。Locked Pages指的是被锁定在主存中的内存页,以保证一些内核组件,driver可以访问到它们。windows一定会保证一定数量的可交换的内存空间,防止一 阅读全文
posted @ 2010-02-08 15:02 靓点博客 阅读(580) 评论(0) 推荐(0) 编辑