<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[immember的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/immember</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; immember]]></copyright><item><title><![CDATA[【zz】关于DeviceIoControl实现异步的笔记]]></title><link>https://blog.youkuaiyun.com/immember/article/details/41823521</link><guid>https://blog.youkuaiyun.com/immember/article/details/41823521</guid><author>immember</author><pubDate>Tue, 09 Dec 2014 14:27:33 +0800</pubDate><description><![CDATA[http://yexin218.iteye.com/blog/638445





一直所做的都是同步实现的。当然很多情况这并不是很好的解决问题。现在手上的问题是：用户层通知底层驱动(Filter Driver)做某件事，然后返回该事件执行的结果。如果该事件是一件简单的事情，这里是指极短时间内可以完成的，那么在允许范围内，我们可以用同步来完成。但是如果该事件是一件耗时的工作，而应用程]]></description><category></category></item><item><title><![CDATA[字符数组与整型数组的初始化和赋值对比]]></title><link>https://blog.youkuaiyun.com/immember/article/details/41255671</link><guid>https://blog.youkuaiyun.com/immember/article/details/41255671</guid><author>immember</author><pubDate>Tue, 18 Nov 2014 21:49:32 +0800</pubDate><description><![CDATA[字符数组

1 字符数组在定义的时候最好要初始化。 

2 字符数组在初始化时，可以用2种形式。

第一种字符数组的初始化





[cpp] view
 plaincopy






char a1[4]="abc";  




第二种字符数组的初始化 





[cpp] view
 plaincopy




]]></description><category></category></item><item><title><![CDATA[checksum-8位和16位校验和代码示例]]></title><link>https://blog.youkuaiyun.com/immember/article/details/41244507</link><guid>https://blog.youkuaiyun.com/immember/article/details/41244507</guid><author>immember</author><pubDate>Tue, 18 Nov 2014 11:31:38 +0800</pubDate><description><![CDATA[#include 
#include 

unsigned char ip_hdr_8[] = 
{
	0x45,0x00,
	0x00,0x3c,
	0x00,0x00,
	0x00,0x00,
	0x40,0x01,
	0x00,0x00,	// checksum
	0xc0,0xa8,
	0x01,0x25,
	0xda,0x3c,
	0x06,0x82
};

unsigned short]]></description><category></category></item><item><title><![CDATA[fgetc()的示例代码]]></title><link>https://blog.youkuaiyun.com/immember/article/details/40590153</link><guid>https://blog.youkuaiyun.com/immember/article/details/40590153</guid><author>immember</author><pubDate>Wed, 29 Oct 2014 18:24:03 +0800</pubDate><description><![CDATA[#includevoid main(){ FILE *fp; int c; fp=fopen("exist","r"); while((c=fgetc(fp))!=EOF) printf("%c",c); fclose(fp);}]]></description><category></category></item><item><title><![CDATA[【cypress】interrupt function requires address warning]]></title><link>https://blog.youkuaiyun.com/immember/article/details/8003032</link><guid>https://blog.youkuaiyun.com/immember/article/details/8003032</guid><author>immember</author><pubDate>Fri, 21 Sep 2012 10:20:58 +0800</pubDate><description><![CDATA[1、在boot.asm中找到中断向量地址，比如 0x001C
2、在中断服务程序（如：Timer_ISR）的定义后面加上：@0x001C
void Timer_ISR(void) @0x001C]]></description><category></category></item><item><title><![CDATA[【zz】对Linux的进程内核栈的认识]]></title><link>https://blog.youkuaiyun.com/immember/article/details/7973427</link><guid>https://blog.youkuaiyun.com/immember/article/details/7973427</guid><author>immember</author><pubDate>Thu, 13 Sep 2012 08:47:15 +0800</pubDate><description><![CDATA[在重游《LDD3》的时候，又发现了一个当年被我忽略的一句话:

“内核具有非常小的栈，它可能只和一个4096字节大小的页那样小”

 

针对这句话，我简单地学习了一下进程的“内核栈”


什么是进程的“内核栈”？
    在每一个进程的生命周期中，必然会通过到系统调用陷入内核。在执行系统调用陷入内核之后，这些内核代码所使用的栈并不是原先用户空间中的栈，而是一个内核空间的栈，这]]></description><category></category></item><item><title><![CDATA[GDI资源的释放]]></title><link>https://blog.youkuaiyun.com/immember/article/details/7972138</link><guid>https://blog.youkuaiyun.com/immember/article/details/7972138</guid><author>immember</author><pubDate>Wed, 12 Sep 2012 17:55:45 +0800</pubDate><description><![CDATA[上面的说法千奇百怪，网上流传的版本很多，我个人看法，都有点问题。它们之所以能流传，就是因为从效果上看不出差别。而很多人写VB程序，恰恰是只看重效果！ 

这个问题我没见过MSDN中有具体说明,但从其中部分函数说明与很多MFC示例中，基本可得出以下零星线索： 
1、不能直接删除已选入DC中的对象，如Bmp、Brush、Pen等； 
2、删除DC并不会同时删除已选入其中的对象； 
3、Sel]]></description><category></category></item><item><title><![CDATA[error LNK2005]]></title><link>https://blog.youkuaiyun.com/immember/article/details/7970480</link><guid>https://blog.youkuaiyun.com/immember/article/details/7970480</guid><author>immember</author><pubDate>Wed, 12 Sep 2012 11:46:45 +0800</pubDate><description><![CDATA[编程中经常能遇到LNK2005错误——重复定义错误，其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因，就可以轻松解决它了。   
    
  造成LNK2005错误主要有以下几种情况：   
  1．重复定义全局变量。可能存在两种情况：   
  A、对于一些初学编程的程序员，有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的，全局变量是针对整个工]]></description><category></category></item><item><title><![CDATA[在文档视图中嵌入对话框]]></title><link>https://blog.youkuaiyun.com/immember/article/details/7967961</link><guid>https://blog.youkuaiyun.com/immember/article/details/7967961</guid><author>immember</author><pubDate>Tue, 11 Sep 2012 16:58:59 +0800</pubDate><description><![CDATA[这个问题曾经纠结了很久，现提供一个简单可行的方法……

1.首先新建一个你想嵌入的对话框，然后设置属性Child,无边缘

2.然后给这个对话框关联一个类，比如CViewDlg,使用默认继承于CDialog

3.在想添加的试图类里面新增一个该对话框类的变量，不妨命名为m_dlg

4.在View.cpp添加你的对话框类的头文件

5.在View的OnCreate()函数里面添]]></description><category></category></item><item><title><![CDATA[炒股入门书籍推荐]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6251209</link><guid>https://blog.youkuaiyun.com/immember/article/details/6251209</guid><author>immember</author><pubDate>Tue, 15 Mar 2011 16:52:00 +0800</pubDate><description><![CDATA[2007-04-27 10:35:00 作者: 来源:      《1》道氏理论       1股市晴雨表 (美) 汉密尔顿       《2》K线       1股票K线战法 （美） 史蒂夫。尼森       2日本蜡烛图技术 （美） 史蒂夫。尼森       《3》波浪理论       1波浪原理 (美)艾略特       2艾略特波浪理论-市场行为的关键 （美）普来切特       3艾略特波浪原理三十讲 侯本慧、郭小洲       《4》江恩理论       1华尔街四十五年 （美）江恩      ]]></description><category></category></item><item><title><![CDATA[git 简单使用方法]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6146250</link><guid>https://blog.youkuaiyun.com/immember/article/details/6146250</guid><author>immember</author><pubDate>Mon, 17 Jan 2011 10:49:00 +0800</pubDate><description><![CDATA[git init  git config  --global user.name “my name”  git config  --global user.email  mymail@domain.com     git  add .  git  commit –a –m “comment”]]></description><category></category></item><item><title><![CDATA[linux samba服务器配置方案]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6137439</link><guid>https://blog.youkuaiyun.com/immember/article/details/6137439</guid><author>immember</author><pubDate>Fri, 14 Jan 2011 09:36:00 +0800</pubDate><description><![CDATA[1. 使用图形界面添加samba用户，例如 testuser  2. 图形界面添加共享目录，例如 /home/testdir； 共享名 test  3. 修改配置文件：vim /etc/samba/smb.conf     设置 security = user    [test]           comment = test           path = /home/testdir          public = no          browseable = yes           wr]]></description><category></category></item><item><title><![CDATA[linux 终端字体设置]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6137308</link><guid>https://blog.youkuaiyun.com/immember/article/details/6137308</guid><author>immember</author><pubDate>Fri, 14 Jan 2011 08:46:00 +0800</pubDate><description><![CDATA[Nimbus Mono L]]></description><category></category></item><item><title><![CDATA[linux编译源码的configue参数]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6130614</link><guid>https://blog.youkuaiyun.com/immember/article/details/6130614</guid><author>immember</author><pubDate>Wed, 12 Jan 2011 10:57:00 +0800</pubDate><description><![CDATA[编译源码时，configure只有 –with-debug 参数，那么如何禁止debug的。如下操作即可：  --without-debug]]></description><category></category></item><item><title><![CDATA[如何让gcc的编译错误信息以英文的方式输出？]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6126571</link><guid>https://blog.youkuaiyun.com/immember/article/details/6126571</guid><author>immember</author><pubDate>Mon, 10 Jan 2011 12:17:00 +0800</pubDate><description><![CDATA[export  LANG=en_US]]></description><category></category></item><item><title><![CDATA[(zz)Fedora下 DirectFB 开发手记]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6123005</link><guid>https://blog.youkuaiyun.com/immember/article/details/6123005</guid><author>immember</author><pubDate>Fri, 07 Jan 2011 16:36:00 +0800</pubDate><description><![CDATA[<br />http://blog.youkuaiyun.com/turui/archive/2010/06/12/5667168.aspx]]></description><category></category></item><item><title><![CDATA[大型网站架构演变和知识体系(转)]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6082254</link><guid>https://blog.youkuaiyun.com/immember/article/details/6082254</guid><author>immember</author><pubDate>Fri, 17 Dec 2010 14:54:00 +0800</pubDate><description><![CDATA[之前也有一些介绍大型网站架构演变的文章，例如LiveJournal的、ebay的，都是非常值得参考的，不过感觉他们讲的更多的是每次演变的结果，而没有很详细的讲为什么需要做这样的演变，再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术，于是有了写这篇文章的想法，在这篇文章中 将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系，希望能给想从事互联网行业的同学一点初步的概念，:)，文中的不对之处也请各位多给点建议，让本文真正起到抛砖引玉的效果。  架构演变第一]]></description><category></category></item><item><title><![CDATA[重装xp后引导linux方法]]></title><link>https://blog.youkuaiyun.com/immember/article/details/6032119</link><guid>https://blog.youkuaiyun.com/immember/article/details/6032119</guid><author>immember</author><pubDate>Wed, 24 Nov 2010 14:36:00 +0800</pubDate><description><![CDATA[使用虚拟软驱进入dos,利用grub for dos 进入grub  root (hd0,TAB…)  // 分析找出boot目录所在分区,比如说是 1  root (hd0,1)  kernel /boot/vmlinuz …  // tab 补全  initrd /boot/initrd … // tab补全  boot  // 启动linux]]></description><category></category></item><item><title><![CDATA[windows live writer]]></title><link>https://blog.youkuaiyun.com/immember/article/details/5906506</link><guid>https://blog.youkuaiyun.com/immember/article/details/5906506</guid><author>immember</author><pubDate>Sun, 26 Sep 2010 08:53:00 +0800</pubDate><description><![CDATA[<br />前些天开始喜欢上用windows live writer来写博客， 特别在记录一些心得，或备忘一些在网上收集到的资料时很方便。<br />开始是用的windows live space, 感觉用起来很不方便, 想转cnblogs. <br />先是Google了一下WLW是否支持cnblogs, 显然是支持的, 意外的收获是有人为wlw写了cnblogs的插入高亮代码块的插件，激动之余马上下下来使用。<br />下载地址： LiveWriter插入高亮代码插件介绍 基于SyntaxHighigh]]></description><category></category></item><item><title><![CDATA[test]]></title><link>https://blog.youkuaiyun.com/immember/article/details/5905614</link><guid>https://blog.youkuaiyun.com/immember/article/details/5905614</guid><author>immember</author><pubDate>Sat, 25 Sep 2010 17:17:00 +0800</pubDate><description><![CDATA[<br />public HighlighterBase this[string name]
{
    get
    {
        HighlighterBase highlighter = null;
        for (int i = 0; i < this.List.Count; i++)
        {
            highlighter = (HighlighterBase)this.List[i];
            if (highligh]]></description><category></category></item></channel></rss>