摘要: 不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段代码称为临界区(Critical Section)。 每个进程中访问临界资源的那段程序称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。 多个进程中涉及到同一个临界资源的临界区称为相关临界区。 进程进入临界区的调度原则是: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 ②任何时候,处于临界区内的进程不可... 阅读全文
posted @ 2013-09-02 11:03 Dayw 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: 什么是Detours简单地说,Detours是微软提供的一个开发库,使用它可以简单、高校、稳定地实现APIHOOK的功能。 Detours是一个可以在x86、x64和IA64平台上测试任意Win32函数的程序开发库。它可以通过为目标函数重写在内存中的代码而达到拦截Win32函数的目的。Detours还可以将任意的DLL或数据片段(称之为有效载荷)注入到任意Win32二进制文件中。Detours被广泛应用在微软内部和其他行业中。你可以从微软官方网站下载到Detours的express版本,目前最新版本是2.1,它包含有下列的崭新特性:* 完整的DetoursAPI文档*附加和拆卸处理模块* 支. 阅读全文
posted @ 2013-08-29 16:36 Dayw 阅读(4905) 评论(0) 推荐(1) 编辑
摘要: COM编程技术基础一、前言所谓COM(ComponetObjectModel,组件对象模型),是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。显然,在COM规范下将能够以高度灵活的编程手段来开发、维护应用程序。可以将一个单独的复杂程序划分为多个独立的模块进行开发,这里的每一个独立模块都是一个自给自足的组件,可以采取不同的开发语言去设计每一个组件。在运行时将这些组件通过接口组装起来以形成所需要的应用程序。构 阅读全文
posted @ 2013-08-27 18:09 Dayw 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 本文为刚刚接触COM的程序员提供编程指南,解释COM服务器内幕以及如何用C++编写自己的接口。继上一篇COM编程入门之后,本文将讨论有关COM服务器的内容,解释编写自己的COM接口和COM服务器所需要的步骤和知识,以及详细讨论当COM库对COM服务器进行调用时,COM服务器运行的内部机制。如果你读过上一篇文章。应该很熟悉COM客户端是怎么会事了。本文将讨论COM的另一端——COM服务器。内容包括如何用C++编写一个简单的不涉及类库的COM服务器。深入到创建COM服务器的内部过程,毫无遮掩地研究那些库代码是充分理解COM服务器内部机制的最好方法。本文假设你精通C++并掌握了上一篇文章所讨论的概念 阅读全文
posted @ 2013-08-27 18:08 Dayw 阅读(947) 评论(0) 推荐(1) 编辑
摘要: 本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。 COM即组件对象模型,是ComponentObjectModel取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大把的新技术都以COM为基础。各种文档中也充斥着诸如COM对象、接口、服务器之类的术语。因此,对于一个程序员来说,不仅要掌握使用COM的方法,而且还要彻底熟悉COM的所有一切。 本文由浅入深描述COM的内在运行机制,教你如何使用第三方提供的COM对象.. 阅读全文
posted @ 2013-08-27 18:04 Dayw 阅读(1187) 评论(0) 推荐(1) 编辑
摘要: 一. 虚函数1.什么是虚函数:虚函数的定义是在基类中进行的,被 virtual 修饰的,当基类中的某个成员函数被声明为“虚函数”后,可以在一个或多个派生类中重新定义该函数,重新定义时,其函数原型(包括:返回类型,函数名,参数个数,参数类型以及参数顺序都必须与基类中的完全相同),一般虚函数的语法如下:virtual (形参表){ 函数体;}注意:虚函数的作用是在允许在派生类中对基类中的虚函数进行重新定义,显然只能用于类的继承层次中。使用虚函数的场景:(1) 成员函数是否作为一个基类,是否在派生类中需要改动(2) 对成员函数的调用,时候通过基类指针或引用注意:虚函数 与 函数重载的区别,列子:.. 阅读全文
posted @ 2013-08-27 12:32 Dayw 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/smileEvday/archive/2012/03/27/2420362.html一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们可以采取两种方法将view添加到UIWindow中: 1、addSubview 直接将v... 阅读全文
posted @ 2013-08-22 16:43 Dayw 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/smileEvday/archive/2012/05/10/2495153.htmlUINavigationController是iOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的APP中(如qq,系统相册等)都有用到。UINavigationController view层级当应用通过 UINavigationController 显示多个屏幕的信息时 ,相应的 UINavigationController 对象会以栈的形势保存所有的屏幕 阅读全文
posted @ 2013-08-22 16:35 Dayw 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 每一个应用都有一个 NSUserDefaults 实例,向 NSUserDefaults 类发送 standardUserDefaults 消息可以得到该实例。NSUserDefaults 实例类似与 NSMutableDictionary,可以通过键存取或删除该对象。当应用第一次使用 NSUserDefaults 实例时,NSUserDefaults 实例会自动从文件读取数据;修改数据后,NSUserDefaults 实例会自动将数据写入文件。NSUserDefaults 的键必须是字符串类型,一个键对应一个偏好设置,偏好设置的值是对象,而且是可序列化的(serializable)对象;也可 阅读全文
posted @ 2013-08-20 16:30 Dayw 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-08-20 15:49 Dayw 阅读(156) 评论(0) 推荐(0) 编辑