<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EmberSpirit的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/EmberSpirit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EmberSpirit]]></copyright><item><title><![CDATA[数据结构 排序]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8092071</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8092071</guid><author>EmberSpirit</author><pubDate>Sat, 20 Oct 2012 08:33:31 +0800</pubDate><description><![CDATA[排序
1.       
将一个数据元素（或记录）的任意序列，重新排列成一个按关键字有序的序列
2.       
排序分类
第一种分法：按待排序记录所在位置
（1）       
内部排序：待排序记录全部存放在内存的排序过程
（2）       
外部排序：待排序记录的数量很大，以致于内存一次不能容纳全部记录，在排序过程中尚需要对外存进行访问的排序过程
第二种分法：按排序依据]]></description><category></category></item><item><title><![CDATA[数据结构 查找]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8092069</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8092069</guid><author>EmberSpirit</author><pubDate>Sat, 20 Oct 2012 08:31:24 +0800</pubDate><description><![CDATA[1.       
查找
查找也叫检索，是根据给定的某个值，在表中确定一个关键字等于给定值的记录或数据元素
查找表是由同一类型（属性）的数据元素（记录）组成的集合
2.       
分类
第一种分法：根据对表的操作
（1）       
静态查找表：仅对查找表进行查找操作，而不能改变的表
（2）       
动态查找表：对查找表除进行查找操作外，可能还要进行向表中插入数据元]]></description><category></category></item><item><title><![CDATA[DirectX简介 第六篇 DirectSetup简介]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085354</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085354</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:50:18 +0800</pubDate><description><![CDATA[DirectSetup简介
1.       
使用DirectX的应用程序必须在一台装有DirectX运行时组件和DirectX设备驱动程序的机器上才能运行，运行时组件包含了DirectX工作所需的库和实用程序，微软公司允许免费向Windows用户传发DirectX，DirectSetup会自动执行安装程序。
2.       
语言支持：14种语言
3.       
安装
（1]]></description><category></category></item><item><title><![CDATA[DirectX简介 第五篇 DirectInput简介]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085335</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085335</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:48:00 +0800</pubDate><description><![CDATA[DirectInput简介
1.       
DirectInput的得名是因为它直接与设备驱动器通讯，对鼠标和键盘也就意味着立即响应硬件中断，而不是等待Windows发送消息证明已发生输入事件
2.       
DirectInput概念
（1）       
设备
1.       
键盘
2.       
鼠标（触摸板、跟踪球以及相应的按键）
3.]]></description><category></category></item><item><title><![CDATA[DirectX简介 第四篇 DirectPlay简介]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085286</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085286</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:39:56 +0800</pubDate><description><![CDATA[DirectPlay简介
1.       
DirectPlay允许开发者提供不考虑传输媒介细节特征的多人参与功能，DirectX对不同的媒介同等对待（无论是TCP/IP网，IPX网或是调制解调器）
2.       
DirectPlay对象
DirectPlay：提供DirectPlay的核心功能，它的接口给管理游戏者、组、游戏会话和数据传送提供各种方法。
DirectPlayL]]></description><category></category></item><item><title><![CDATA[DirectX简介 第三篇 DirectSound简介]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085173</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085173</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:32:51 +0800</pubDate><description><![CDATA[DirectSound简介
1.       
DirectSound特性：速度快、可控制性强
（1）       
当硬件空闲时自动启用硬件加速
（2）       
不受数量限制的声源混音
（3）       
声音重现延迟时间短暂
（4）       
与Direct3D接口简单的3D声音定位效果
（5）       
自动将输入的Wave数据装换成与输出匹配的格式—]]></description><category></category></item><item><title><![CDATA[DirectX简介 第二篇 DirectDraw简介]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085139</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085139</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:23:34 +0800</pubDate><description><![CDATA[DirectDraw简介
1.       
DirectDraw是DirectX的基石，DirectX的其他组件，如Direct3D，都是建立在它的基础上的，用DirectDraw可以访问显卡上的内存，另外，DirectDraw还可以作为位图混合器，用它可以生成、移动和转换图像数据或对数据进行合成用于显示
2.       
显示技术：图形协处理器、显卡内存。DirectDraw允许我们]]></description><category></category></item><item><title><![CDATA[DirectX简介 第一篇 基础知识]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085136</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/8085136</guid><author>EmberSpirit</author><pubDate>Thu, 18 Oct 2012 13:21:34 +0800</pubDate><description><![CDATA[基础知识
1.       
Directness原理：更快速、最短延迟、底层接口
2.       
Direct结构：硬件抽象层（HAL）和硬件模拟层（HEL），它们两者组合起来一起响应DirectX的请求，当DirectX对象创建时，它将查询相应的硬件并把参数填入“兼容表”，如果硬件能够提供某种特定的功能，那么DirectX将会直接调用硬件所提供的功能，如果硬件不支持某项功能，那么与]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第二十章 HOOK和数据库访问]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997297</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997297</guid><author>EmberSpirit</author><pubDate>Wed, 19 Sep 2012 18:04:53 +0800</pubDate><description><![CDATA[1. 基本知识
（1）对某些特殊的消息进行屏蔽，为了实现这一功能，我们可以安装一个HOOK过程，称为钩子过程，操作系统在传递消息时，将我们感兴趣的消息先传递给HOOK过程，在此函数中进行检查，然后再决定是否放行该消息
（2）安装钩子过程：SetWindowsHookEx函数
     函数原型：HHOOK SetWindowsHookEx（
             int  idHook]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十九章 动态链接库]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997288</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997288</guid><author>EmberSpirit</author><pubDate>Wed, 19 Sep 2012 18:01:53 +0800</pubDate><description><![CDATA[1.动态链接库通常都不能直接运行，也不能接受消息，他们是一些独立的文件，其中包含能被可执行程序或其他DLL调用来完成某项工作的函数，只有在其他模块调用动态链接库时，它才能发挥作用，在实际编程时，我们可以把完成某种功能的函数放在一个动态链接库中，然后提供给其他程序调用
（1）静态库：函数和数据都被编译进一个二进制文件（通常扩展名为.lib），在使用静态库的情况下，在编译链接可执行文件时，链接器从库]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十八章 ActiveX控件]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997277</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997277</guid><author>EmberSpirit</author><pubDate>Wed, 19 Sep 2012 17:59:25 +0800</pubDate><description><![CDATA[1.可以把ActiveX控件看做是一个极小的服务器应用程序，它不能独立运行，必须嵌入到某容器程序中，与该容器一起运行，容器应用程序是可以嵌入或链接对象的应用程序，服务器应用程序是创建对象并且当对象被双击时，可以被启动的应用程序
（1）OCX是ActiveX控件的一种后缀名，ActiveX控件对应的文件也可以是其他后缀名，例如DLL
（2）一个典型的ActiveX控件，它具有方法、属性、事件这三]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十七章 进程间通信]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997256</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997256</guid><author>EmberSpirit</author><pubDate>Wed, 19 Sep 2012 17:55:44 +0800</pubDate><description><![CDATA[1.当一个进程启动后，操作系统为其分配4GB的私有地址空间，位于同一进程中的多个线程共享同一个地址空间，因此线程间的通信非常简单，但因为进程地址空间都是私有的，所以进程间通信比较困难
（1）共享内存（剪贴板）
（2）匿名管道
（3）命名管道
（4）邮槽
（5）消息
2.剪贴板
（1）剪贴板实际上是系统维护管理的一块内存区域，当在一个进程中复制数据时，是将这个数据放到该块内存区域中，当]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十六章 线程同步与异步套接字编程]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997243</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7997243</guid><author>EmberSpirit</author><pubDate>Wed, 19 Sep 2012 17:52:25 +0800</pubDate><description><![CDATA[1.事件对象
（1）事件对象也属于内核对象，它包含以下三个成员
          1.使用计数
         2.用于指明该事件是一个自动重置事件还是一个人工重置事件的布尔值
         3.用于指明该事件处于已通知状态还是未通知状态的布尔值
（2）当人工重置事件对象得到通知时，等待该事件对象的所有线程均变为可调度线程，当一个自动重置事件对象得到通知时，等待该事件对象的线程只]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十五章 多线程]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982227</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982227</guid><author>EmberSpirit</author><pubDate>Sat, 15 Sep 2012 15:11:06 +0800</pubDate><description><![CDATA[1.基本概念
（1）程序和进程：程序是计算机指令的集合，它以文件的形式存储在磁盘上，而进程通常被定义为一个正在运行的程序的实例，是一个程序在其自身的地址控件中的一次执行活动（一个程序可以对应于多个线程）
（2）进程组成：操作系统用来管理进程的内核对象（PCB）和地址空间
（3）进程从来不执行任何东西，它只是线程的容器，若要使用进程完成某项操作，它必须拥有一个在它的环境中运行的线程，此线程负责]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十四章 网络编程]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982214</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982214</guid><author>EmberSpirit</author><pubDate>Sat, 15 Sep 2012 15:07:20 +0800</pubDate><description><![CDATA[1.协议：为进行网络中的数据交换而建立的规则、标准或约定（语义+语法+规则）
（1）协议分层，各层之间单项依赖，下层向上层提供服务，对等层之间虚拟通信，实际通信在最底层完成
（2）应用层：远程登陆协议Telnet，文件传输协议FTP，超文本传输协议HTTP、域名服务DNS、简单邮件传输协议SMTP、邮局协议POP3
（3）传输层：传输控制协议TCP（面向连接，三次握手，数据确认和数据重传机制]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十三章 文档与串行化]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982205</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982205</guid><author>EmberSpirit</author><pubDate>Sat, 15 Sep 2012 15:03:54 +0800</pubDate><description><![CDATA[1.使用CArchive类对文件进行读写操作
（1）MFC提供的CArchive类没有基类，可以用它将对象数据保存到永久设备上，这种让对象数据持久性的过程就称为串行化（或称为序列化）
（2）在程序中使用CArchive对象时，首先要在创建CArchive对象之前必须先创建一个CFile类或其派生类对象，并且因为存档对象既可以用来加载数据，也可以用来保存数据，所以要确保这个CFile类对象的打开]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十二章 文件和注册表操作]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982167</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7982167</guid><author>EmberSpirit</author><pubDate>Sat, 15 Sep 2012 14:50:39 +0800</pubDate><description><![CDATA[1.C语言对文件操作的支持
（1）打开文件：fopen
   FILE* fopen(const char* filename,const char* mode);//mode
文件打开模式（r+,w+,a+,b）
（2）文件写入：fwrite
size_t fwrite(const void* buffer,size_t size,size_t count,FILE* stream);]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十一章  图形的保存和重绘]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968764</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968764</guid><author>EmberSpirit</author><pubDate>Tue, 11 Sep 2012 20:42:24 +0800</pubDate><description><![CDATA[1.坐标空间和转换
   （1）坐标空间：Win32应用程序编程接口（API）使用四种坐标空间：世界坐标系空间、页面空间、设备空间和物理设备空间，应用程序运用世界坐标系空间对图形输出进行旋转、斜切或者反射，Win32
 API把世界坐标系空间和页面空间称为逻辑空间，物理设备空间通常是指应用程序的客户区，但它也包括整个桌面、完整的窗口等
   （2）转换：把对象从一个坐标空间按复制到另一个坐标]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第十章 绘图控制]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968751</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968751</guid><author>EmberSpirit</author><pubDate>Tue, 11 Sep 2012 20:39:34 +0800</pubDate><description><![CDATA[1.简单绘图
（1）画点：CDC类的成员函数SetPixel
     函数原型：COLORREF SetPixel(POINT point,COLORREF crColor);
（2）画直线：CDC类的成员函数MoveTo和LineTo
（3）画矩形：CDC类的成员函数Rectangle，参数为一个指向CRect对象的指针，要先建一个矩形对象
（4）画椭圆：CDC类的成员函数Ellip]]></description><category></category></item><item><title><![CDATA[《VC++深入详解》学习笔记 第九章 定制应用程序的外观]]></title><link>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968723</link><guid>https://blog.youkuaiyun.com/EmberSpirit/article/details/7968723</guid><author>EmberSpirit</author><pubDate>Tue, 11 Sep 2012 20:36:29 +0800</pubDate><description><![CDATA[1.修改应用程序窗口的外观
 （1）在窗口创建之前修改：在CMainFrame类的PreCreateWindow成员函数中进行修改
 （2）在窗口创建之后修改：在CMainFrame类的Oncreate函数中使用SetWindowLong函数（第二个参数指定为GWL_STYLE）
     Todo:获得窗口的现有类型用GetWindowLong函数
2.修改窗口的光标、图标和背景
 （]]></description><category></category></item></channel></rss>