<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[immad的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/immad</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; immad]]></copyright><item><title><![CDATA[字符数组单词逆序]]></title><link>https://blog.youkuaiyun.com/immad/article/details/17031901</link><guid>https://blog.youkuaiyun.com/immad/article/details/17031901</guid><author>immad</author><pubDate>Fri, 29 Nov 2013 22:28:58 +0800</pubDate><description><![CDATA[http://www.oschina.net/code/snippet_134658_24981/**


* 题目：将字符数组a转换成apple an is this，可以把它叫做字符数组单词逆序
* 要求：1、不能开辟新的数组或者其他内存单元，使其空间复杂度为O(1)
*          {空间复杂度：空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度
*]]></description><category></category></item><item><title><![CDATA[《Windows via C/C++》学习笔记 —— 线程的相关性]]></title><link>https://blog.youkuaiyun.com/immad/article/details/14144629</link><guid>https://blog.youkuaiyun.com/immad/article/details/14144629</guid><author>immad</author><pubDate>Mon, 04 Nov 2013 21:56:38 +0800</pubDate><description><![CDATA[《Windows via C/C++》学习笔记 —— 线程的相关性



http://www.cnblogs.com/wz19860913/archive/2008/08/05/1260833.html

　　默认情况下，Windows Vista（2000以上系统）使用“soft affinity”（软相关）的操作将线程分配给CPU。这意味着如果其他因素不变，系统运行线程的时候设法]]></description><category></category></item><item><title><![CDATA[CPU 测速(MHz)和高精度延时(微秒级)]]></title><link>https://blog.youkuaiyun.com/immad/article/details/14132035</link><guid>https://blog.youkuaiyun.com/immad/article/details/14132035</guid><author>immad</author><pubDate>Mon, 04 Nov 2013 19:21:42 +0800</pubDate><description><![CDATA[CPU 测速(MHz)和高精度延时(微秒级)



Victor Chen, (C++ 爱好者)


一．高精度延时, 是 CPU 测速的基础
Windows 内部有一个精度非常高的定时器, 精度在微秒级, 但不同的系统这个定时器的频率不同, 这个频率与硬件和操作系统都可能有关。

利用 API 函数 QueryPerformanceFrequency 可以得到这个定时器的频率]]></description><category></category></item><item><title><![CDATA[Windows进程间各种通信方式浅谈]]></title><link>https://blog.youkuaiyun.com/immad/article/details/13024431</link><guid>https://blog.youkuaiyun.com/immad/article/details/13024431</guid><author>immad</author><pubDate>Fri, 25 Oct 2013 19:33:25 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/microzone/article/details/7044266


1 Windows进程间通信的各种方法    进程是装入内存并准备执行的程序，每个进程都有私有的虚拟地址空间，由代码、数据以及它可利用的系统资源(如文件、管道等)组成。  多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Appli]]></description><category></category></item><item><title><![CDATA[LIB和DLL的区别与使用]]></title><link>https://blog.youkuaiyun.com/immad/article/details/13016577</link><guid>https://blog.youkuaiyun.com/immad/article/details/13016577</guid><author>immad</author><pubDate>Fri, 25 Oct 2013 10:14:56 +0800</pubDate><description><![CDATA[共有两种库：
一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息（入口），代码由运行时加载在进程空间中的DLL提供，称为动态链接库dynamic link library。
一种是LIB包含函数代码本身，在编译时直接将代码加入程序当中，称为静态链接库static link library。
共有两种链接方式：
动态链接使用动态链接库，允许可执行模块（.dll文件或.exe文件）仅]]></description><category></category></item><item><title><![CDATA[经典算法系列—— 快速排序]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12926185</link><guid>https://blog.youkuaiyun.com/immad/article/details/12926185</guid><author>immad</author><pubDate>Tue, 22 Oct 2013 00:23:03 +0800</pubDate><description><![CDATA[快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高，因此经常被采用，再加上快速排序思想----分治法也确实实用，因此很多软件公司的笔试面试，包括像腾讯，微软等知名IT公司都喜欢考这个，还有大大小的程序方面的考试如软考，考研中也常常出现快速排序的身影。
 
总的说来，要直接默写出快速排序还是有一定难度的，因为本人就自己的理解对快速排序作了下白话解释，希望对大家理解有帮助，达到快]]></description><category></category></item><item><title><![CDATA[图的遍历]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12911417</link><guid>https://blog.youkuaiyun.com/immad/article/details/12911417</guid><author>immad</author><pubDate>Mon, 21 Oct 2013 15:19:55 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/dolphin0520/archive/2011/07/13/2105236.html

图的遍历
      图的遍历有两种遍历方式：深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。
1.深度优先遍历
   基本思想：首先从图中某个顶点v0出发，访问此顶点，然后依次从v0相邻的]]></description><category></category></item><item><title><![CDATA[【代码真相】函数调用 堆栈]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12861251</link><guid>https://blog.youkuaiyun.com/immad/article/details/12861251</guid><author>immad</author><pubDate>Sat, 19 Oct 2013 00:39:37 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/dylanwind/archive/2008/12/08/1349822.html
反汇编后，代码是什么呢？




#include stdio.h>

long test(int a,int b)
{
     a = a + 3;
     b = b + 5;
     return a + b;
}

int m]]></description><category></category></item><item><title><![CDATA[Windows程序员学习内容]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12861193</link><guid>https://blog.youkuaiyun.com/immad/article/details/12861193</guid><author>immad</author><pubDate>Sat, 19 Oct 2013 00:33:55 +0800</pubDate><description><![CDATA[经常发现有人在网上提出这样的问题，现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向，每天浑浑噩噩混日子，可能是因为这个问题粒度太大，没人愿意花时间回答，希望本文可以抛砖引玉，给大家节省些时间，同时也希望园子里面的兄弟们能尽力的补充，从而使这篇文章可以帮助更多的后来人。
首先说明的是，本文提到的各种技术不分先后，没有顺序，虽然先学什么，再学什么对某些人来说可能更方便，但是]]></description><category></category></item><item><title><![CDATA[散列表]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12745587</link><guid>https://blog.youkuaiyun.com/immad/article/details/12745587</guid><author>immad</author><pubDate>Tue, 15 Oct 2013 09:51:01 +0800</pubDate><description><![CDATA[我们知道数组能够提供对元素的快速访问但难于扩展；链表易于扩展但不能对其元素进行快速访问。对于大量元素的数据来说，我们当然希望两全其美。散列表提供了达到此目标的一种方法。
   散列表又称哈希表，它有以下几个术语：
1.关键字：元素的存储部分，数据库的元素通过它进行存储，查找等操作（也称作散列关键字）
2,散列表元：散列数组的某个位置，其后跟着另外一个包含其元素的结构
3,散列函数：对关键字]]></description><category></category></item><item><title><![CDATA[散列表处理冲突]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12745455</link><guid>https://blog.youkuaiyun.com/immad/article/details/12745455</guid><author>immad</author><pubDate>Tue, 15 Oct 2013 09:39:47 +0800</pubDate><description><![CDATA[处理冲突
1. 
开放寻址法：Hi=(H(key) + di) MOD m,i=1,2，…，k(k散列函数，m为散列表长，di为增量序列，可有下列三种取法：
1.1. di=1,2,3，…，m-1，称线性探测再散列；
1.2. di=1^2,-1^2,2^2,-2^2，⑶^2，…，±（k)^2,(k
1.3. di=伪随机数序列，称伪随机探测再散列。
2. 再散列法：Hi=RHi(ke]]></description><category></category></item><item><title><![CDATA[判断素数的算法]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12745005</link><guid>https://blog.youkuaiyun.com/immad/article/details/12745005</guid><author>immad</author><pubDate>Tue, 15 Oct 2013 09:14:00 +0800</pubDate><description><![CDATA[判断素数的算法
http://www.cppblog.com/amazon/archive/2009/06/20/88107.aspx
这是一个基本的算法编程问题，即给定一个整数x，判断x是否为素数。算法基本思路如下：让x被2到sqrt(x)除,如果x能被2至sqrt(x)之中任何一个整数整除，那么说明x不是质数，否则是质数。原因不再说明，具体代码如下：




#include c]]></description><category></category></item><item><title><![CDATA[判断素数的算法]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12706099</link><guid>https://blog.youkuaiyun.com/immad/article/details/12706099</guid><author>immad</author><pubDate>Mon, 14 Oct 2013 11:15:04 +0800</pubDate><description><![CDATA[判断素数的算法
http://www.cppblog.com/amazon/archive/2009/06/20/88107.asp
这是一个基本的算法编程问题，即给定一个整数x，判断x是否为素数。算法基本思路如下：让x被2到sqrt(x)除,如果x能被2至sqrt(x)之中任何一个整数整除，那么说明x不是质数，否则是质数。原因不再说明，具体代码如下：




#include cm]]></description><category></category></item><item><title><![CDATA[重载(overload)，覆盖(override),隐藏(hide)的区别]]></title><link>https://blog.youkuaiyun.com/immad/article/details/12625443</link><guid>https://blog.youkuaiyun.com/immad/article/details/12625443</guid><author>immad</author><pubDate>Fri, 11 Oct 2013 23:44:22 +0800</pubDate><description><![CDATA[重载(overload)，覆盖(override),隐藏(hide)的区别
http://www.cppblog.com/zgysx/archive/2007/03/12/19662.html
写正题之前，先给出几个关键字的中英文对照，重载(overload)，覆盖(override),隐藏(hide)。在早期的C++书籍中，可能翻译的人不熟悉专业用语（也不能怪他们，他们不是搞计算机编程的，他]]></description><category></category></item><item><title><![CDATA[HDC与HWND的关系]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9422221</link><guid>https://blog.youkuaiyun.com/immad/article/details/9422221</guid><author>immad</author><pubDate>Tue, 23 Jul 2013 15:01:22 +0800</pubDate><description><![CDATA[都知道，从HWND可以通过方法GetSafeHDC获得一个HDC句柄，用CDC::GetWindow方法可以获得一个CWnd指针。我就犯嘀咕了，dc和窗口两个类（对象）之间，究竟是怎么一种关系？他们是怎么互相获得的？通过什么联系？

GetSafeHDC是CDC的函数吧。   
    
CDC::GetWindow调用的是API函数WindowFromDC()，从窗口句柄得到客户区DC句]]></description><category></category></item><item><title><![CDATA[VC调试入门]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9415663</link><guid>https://blog.youkuaiyun.com/immad/article/details/9415663</guid><author>immad</author><pubDate>Mon, 22 Jul 2013 23:09:06 +0800</pubDate><description><![CDATA[VC调试入门
http://www.cnblogs.com/wqj1212/archive/2007/12/29/1020282.html
 概述
调试是一个程序员最基本的技能，其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言，却不能编制出任何好的软件。
这里我简要的根据自己的经验列出调试中比较常用的技巧，希望对大家有用。
本文约定，在选择菜单时，通过/表示分级菜单]]></description><category></category></item><item><title><![CDATA[浮点数在计算机中存储方式]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9326779</link><guid>https://blog.youkuaiyun.com/immad/article/details/9326779</guid><author>immad</author><pubDate>Sun, 14 Jul 2013 22:00:56 +0800</pubDate><description><![CDATA[C语言和C#语言中，对于浮点类型的数据采用单精度类型（float）和双精度类型(double)来存储，float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候，是如何分配内存的呢？如果胡乱分配，那世界岂不是乱套了么，其实不论是float还是double在存储方式上都是遵从IEEE的规范的，float遵从的是IEEE R32.24 ,而dou]]></description><category></category></item><item><title><![CDATA[精确获取时间（QueryPerformanceCounter）]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9326003</link><guid>https://blog.youkuaiyun.com/immad/article/details/9326003</guid><author>immad</author><pubDate>Sun, 14 Jul 2013 20:09:35 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/sifenkesi/archive/2011/06/01/2065673.html
 
LARGE_INTEGER tima,timb; 
QueryPerformanceCounter(&tima);
在 Windows Server 2003 和 WindowsXP 中使用 QueryPerformanceCounter 函数的程序可能执行]]></description><category></category></item><item><title><![CDATA[使用QueryPerformanceFrequency 计算程序执行时间]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9324429</link><guid>https://blog.youkuaiyun.com/immad/article/details/9324429</guid><author>immad</author><pubDate>Sun, 14 Jul 2013 15:10:48 +0800</pubDate><description><![CDATA[/////////////////////////////////////////////////
#include 
#include 
using namespace    std;
////////////////////////////////////////////////
void main()
{
    _LARGE_INTEGER time_start;    /*]]></description><category></category></item><item><title><![CDATA[MFC双缓存画图]]></title><link>https://blog.youkuaiyun.com/immad/article/details/9318993</link><guid>https://blog.youkuaiyun.com/immad/article/details/9318993</guid><author>immad</author><pubDate>Sat, 13 Jul 2013 15:45:46 +0800</pubDate><description><![CDATA[在使用MFC画图时，使用Invalidate（）函数重画客户区，尤其是使用频繁的时候，我们可以感觉到整个客户区在不停地闪烁， 导致我们的界面的效果特别差，那么怎样能防止这一现象发生呢？我们可以有以下几种方法：

局部重画：就是说，客户区画图时，我们把刚刚的有过改动的区域确定，然后只改变这一小区域，而不是把整个客户区重画。不过这样 做还是不能彻底解决闪烁的现象。因为重画的局部还是会闪烁。异或画图]]></description><category></category></item></channel></rss>