摘要: 一 串行模式和并行模式 一般一个服务应用程序采用以下两个架构模型之一:串行模式 一个线程等待一个客户发出的请求,当请求到达的时候,线程会被换醒来处理客户的请求。并发模式。一个线程等待一个客户发出的请求,当请求到达的时候,线程会创建一个新的线程来处理客户的请求,而当前线程则会进入下一次循环继续等待... 阅读全文
posted @ 2014-05-06 21:23 数据世界 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 一 废话 在上一篇文章中,我们介绍了通过等待内核对象来接受I/O完成通知的重叠I/O。除了使用同步对象外,我们还可以使用其它方法,这便是这篇文章要介绍的使用完成例程的扩展I/O。完成例程其实就是回调函数,当I/O完成的时候系统调用一个用户指定的回调函数来通知用户I/O完成, 调用完回调函数之后,可... 阅读全文
posted @ 2014-05-05 20:54 数据世界 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 一 什么是异步I/O 同步I/O和异步I/O的关键不同就是在发出I/O请求后,线程是否会阻塞。当线程发出一个设备I/O请求的时候,线程会被挂起来,直到设备完成I/O请求为止,这称之为同步I/O。而对于异步I/O,当线程提交了一个设备I/O请求后,可以继续运行,当内核完成I/O的请求后会通知线程I/... 阅读全文
posted @ 2014-05-05 15:01 数据世界 阅读(526) 评论(1) 推荐(0) 编辑
摘要: 首先可以直接用Visual Studio 2008的打开VC6的工作区文件和项目文件(dsw和dsp),并将其升级为VS2008的解决方案格式和项目格式(sln和vcproj),VC9的编译器相对于VC6有了很大的变化,一些编译参数和链接参数被废弃(比如/map:line),有一些改变了名称,还有... 阅读全文
posted @ 2014-04-23 21:32 数据世界 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 以下是很多VC爱好者的学习经历,希望对大家有所帮助:我记得我在网上是这么说的:先学win32的SDK,也就是API,再学MFC,这么一来呢,就先有个基础,MFC是API的封装,如果API用的熟了,MFC上手就轻松的多了。我觉得呢,现在不少WINDOWS编程入门的好书很多,多买一些,多看看,多想想。不... 阅读全文
posted @ 2014-04-23 21:31 数据世界 阅读(1926) 评论(1) 推荐(1) 编辑
摘要: 第三章操作文件我依然清楚地记得,Windows95的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方面的操作更容易和直观。作为真正的软件狂人,我们能为一个比萨饼的奖金开始竞赛,一直以求成为第一个能够编程再造如此行为的人—即,怎样以动画方式拷贝文件。花了几个小时的时间才在一大堆新函数中找出了SHFileOperation()函数,这是一个响应动画拷贝的API函数,它也是探测器执行所有文件操作的函数。竞赛的规则之一是建立一个具有这个唯一目标功能的演示程序。在这个函数出现之后,这个问题实际上是十分简单的。事 阅读全文
posted @ 2014-04-08 14:31 数据世界 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 第二章Shell的结构“Shell编程”的大伞之下有大量的API函数和COM接口。这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程。函数和接口并不是两种提供相同功能的等价途径,相反,它们在不同的逻辑层上提供不同的功能。 API函数包含了用户想要在Shell对象上执行的基本操作,如文件和文件夹。COM接口则给出了扩展增强,甚至客户化各种要素对象的机会,包括Shell本身标准行为。用面向任务的方法对函数和对象进行分组将给我们一个总体上观察Shell的机会,因此,我们仍然能够把它看作一个具有属性和方法的对象。在这一章中我们将努力分出每一个函数和接口究竟属于哪一个功能组。 阅读全文
posted @ 2014-04-08 13:42 数据世界 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 一个操作系统外壳的不错的定义是它是一个系统提供的用户界面,它允许用户执行公共的任务,如访问文件系统,导出执行程序,改变系统设置等。MS-DOS有一个Command.COM扮演着这个角色。然而Windows已经有了图形界面环境,他的外壳程序也就必然是图形方式的。在Windows95以前,默认的Windows Shell就是程序管理器。程序管理器是一个中央控制台,从那里你可以启动应用程序,重排和重组图标,执行新任务。换句话说,程序管理器就像他的名字提示的那样管理所有集中在Windows大伞之下的程序。现在对应程序管理器的是文件管理器,它是一个专门为维护文件系统而设计的工具。随着Windows95. 阅读全文
posted @ 2014-04-08 13:38 数据世界 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 第四章文件的本质以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志。然而,Windos95(及后来的WindowsNT4.0)出现使这些概念产生了改变,其中最重要的‘文件’变得更加广泛。现在,文件可以是任何Shell部件对象—不一定必须是文件系统的部件。文件的精确定义是,任何作为Shell命名空间部件的对象称之为文件对象。注意,在定义中所说的‘命名空间’,它不是C++的关键字。‘Shell命名空间’所指的是实际组成Shell的所有命名项的集合。它们都被显示在探测器的树观察中。并不是所有文件都是文件系统中的一个实体,比如‘打 阅读全文
posted @ 2014-03-24 10:28 数据世界 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行匹配HTML标记的正则表达式:]*>.*?| 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$ 评注:可 阅读全文
posted @ 2014-01-21 15:10 数据世界 阅读(129) 评论(0) 推荐(0) 编辑