<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[smallcraft的专栏]]></title><description><![CDATA[把精益求精当作一种习惯]]></description><link>https://blog.youkuaiyun.com/smallcraft</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smallcraft]]></copyright><item><title><![CDATA[Win7 下ARP绑定]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/6451453</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/6451453</guid><author>smallcraft</author><pubDate>Sat, 28 May 2011 10:04:00 +0800</pubDate><description><![CDATA[通常情况下，使用arp命令就可以实现绑定，首先打开cmd.exe，以管理员的方式运行，1. 增加一条绑定,arp -s GW_ipaddres GW_macaddress举例：arp -s 192.168.1.1 00-02-04-03-08-44然后用arp -a 就可以发现新增加的绑定，但是这条命令默认是给系统中第一个网卡添加的。如果你的系统中有多个网卡，arp -a  会按照顺序列出在各个网卡上的绑定，第一就是最上面的那个. 但是有时候我们需要给第二个第三个网卡上添加绑定, 可以在arp -s最后添加]]></description><category></category></item><item><title><![CDATA[VS2008 中添加OnInitDialog()]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/6037941</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/6037941</guid><author>smallcraft</author><pubDate>Fri, 26 Nov 2010 17:29:00 +0800</pubDate><description><![CDATA[VS2008 中添加OnInitDialog()]]></description><category></category></item><item><title><![CDATA[ActiveX、OLE和COM介绍 『转』]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/5932832</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/5932832</guid><author>smallcraft</author><pubDate>Mon, 11 Oct 2010 10:40:00 +0800</pubDate><description><![CDATA[ActiveX、OLE和COM]]></description><category></category></item><item><title><![CDATA[Windows 服务程序创建与停止]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/5929432</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/5929432</guid><author>smallcraft</author><pubDate>Sat, 09 Oct 2010 13:43:00 +0800</pubDate><description><![CDATA[命令：sc]]></description><category></category></item><item><title><![CDATA[使用DLL的问题]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/5222057</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/5222057</guid><author>smallcraft</author><pubDate>Thu, 21 Jan 2010 21:13:00 +0800</pubDate><description><![CDATA[开发中用到别人提供的动态库文件 abc.dll，没有头文件，也没有lib，只有一点关于函数声明文档。开始写了一个小测试C程序，动态库加载和函数都没有问题。后来就正式地用到了较的C++中，里面有类和模板。我是在成员函数中加载和使用动态库的。诡异的问题开始出现了，开始加载调用两个函数，正常。当我又增加了一个成员函数时，这个成员函数没有调用动态库中的函数。编译正常，但是在运行时，程序Crash了，郁]]></description><category></category></item><item><title><![CDATA[C++中的虚函数]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/2338984</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/2338984</guid><author>smallcraft</author><pubDate>Mon, 28 Apr 2008 14:51:00 +0800</pubDate><description><![CDATA[最近在做基于libjingle的开发,发现里面有很多虚函数,于是就随便总结了一下虚函数的各用用法以及注意点.1.   虚函数虚函数其实讨论的是一个接口继承和实现继承的问题，讨论的什么时候只继承接口；什么时候同时继承接口和实现，可以覆写继承的实现；什么时候继承接口和实现，但不允许覆写任何东西。1.1.          普通虚函数声明一个普通虚函数可以实现覆写继承接口和实现。这个比较]]></description><category></category></item><item><title><![CDATA[m_buff介绍]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/2241966</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/2241966</guid><author>smallcraft</author><pubDate>Tue, 01 Apr 2008 21:36:00 +0800</pubDate><description><![CDATA[ 1.    m_buff介绍mbuf是memory buffer的缩写。它的主要用途是保存在进程和网络接口间互相传递的用户数据，同时也保存其它有用的信息，如源地址、插口选项等。首先我们来看一下mbuf的数据结构，然后分析各成员变量的含义。/* mbuf的头部数据结构，大小为20字节 */struct m_hdr {      struct     mbuf *mh_nex]]></description><category></category></item><item><title><![CDATA[Sigslot介绍]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/2237802</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/2237802</guid><author>smallcraft</author><pubDate>Tue, 01 Apr 2008 15:25:00 +0800</pubDate><description><![CDATA[  最近在开发一个基于libjingle开源的IM系统，里面有一个其类为has_slots，搜索了一下其资料发现是一个很好用的C++库，先对其简单介绍一下。1.          简介      sigslot是一个线程安全、类型安全，用C++实现的sig/slot机制(sig/slot机制就是对象之间发送和接收消息的机制)的开源代码库。是一个非常好用的库,只有一个头文件sigslot.h]]></description><category></category></item><item><title><![CDATA[C++函数模板学习]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/2235219</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/2235219</guid><author>smallcraft</author><pubDate>Tue, 01 Apr 2008 11:10:00 +0800</pubDate><description><![CDATA[   1. 模板定义          C++是一种强类型语言，它要求对于每一个实现都要有一个实例。如对于简单的min（）的int和double两种实例都要事先定义，这给程序员带来很多不便性。这一章我们来学习函数模板，看它是如何解决这个问题的。函数模板提供一种用来自动生成各种类型函数实例的算法，程序员只需要补始化其中部分参数和返回值，或者都不初始化，只需要申明通用的类型，而函数体则不需要改变。]]></description><category></category></item><item><title><![CDATA[做产品与做技术]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/1910578</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/1910578</guid><author>smallcraft</author><pubDate>Sat, 01 Dec 2007 15:13:00 +0800</pubDate><description><![CDATA[ 在产品即将要发布,发现了我们是多么地脆弱！以前做的只能算是开发成功了，每一个功能都可以达到，但是这些都是有条件的情况下才能完成，只有研发人员才可以使用。OH ,shit。我们没有考虑到用户只会用按钮用鼠标点来点去，根本不会用我开发时的工具，他们也许希望这个东西能像TV一样好用… 除了这方面的问题，也有研发时没有考虑到的技术问题。感觉很受打击，而这种打击来自于自己...离发布的路感觉还]]></description><category></category></item><item><title><![CDATA[Strtok详解]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/1862600</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/1862600</guid><author>smallcraft</author><pubDate>Fri, 02 Nov 2007 09:51:00 +0800</pubDate><description><![CDATA[ 昨天编程时碰到要解析一个长字符串，去掉一些没有用的字符，于是想到strtok以前见过，上网查了一下，发现不少人在讨论strtok(NULL,char*),为什么传进去的是NULL，于是又查了一下源码，现在贴出来跟大家一起分享。首先说下这个函数的功能：原型：char * strtok(char * s,const char * ct)用途：在s中找出以ct中的字符为分隔的字符串，即是源]]></description><category></category></item><item><title><![CDATA[Static]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/1861054</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/1861054</guid><author>smallcraft</author><pubDate>Thu, 01 Nov 2007 13:08:00 +0800</pubDate><description><![CDATA[也来总结一下C/C++中的关键字static   ，分别从以下几个方面来阐述：1)静态全局变量：该变量在整个模块中是可见的，这和全局变量是一样的。不同之处在于，普通全局变量可以被其他文件用extern 关键字访问到，而静态全局变量则只对本文件可见。2)静态局部变量：使用静态局部变量主要解决调用函数时能够保存变量的值，当然声明全局变量也可以解决这个问题，但是那样就体现不出变量的局限性。在函数中用]]></description><category></category></item><item><title><![CDATA[硬链接与软链接]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/1859726</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/1859726</guid><author>smallcraft</author><pubDate>Wed, 31 Oct 2007 16:40:00 +0800</pubDate><description><![CDATA[//发现自己总是不能深入地学习一个东西,其中关键一点,我总结就是没有好好作过笔记,以前学习的东西都是暂时记住了,要不了多久就忘记了,现在听取一个师兄的良言,准备写个Blog记录下自己平时学到的,请各为大侠不要见笑.......首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里，在访问文件时，索引]]></description><category></category></item><item><title><![CDATA[计算机中断(经典)]]></title><link>https://blog.youkuaiyun.com/smallcraft/article/details/1847252</link><guid>https://blog.youkuaiyun.com/smallcraft/article/details/1847252</guid><author>smallcraft</author><pubDate>Sat, 27 Oct 2007 10:56:00 +0800</pubDate><description><![CDATA[ 计算机中断——顾名思义，就是计算机由于遇到一些紧急情况，中断现在的工作，转而处理紧急情况，处理完紧急情况以后再回到以前执行的工作继续执行。不过这只是狭义的计算机中段概念。因为这个概念只能解释内部中断和外部中断，然而对于软件中断却不能套用次概念。　　　　为了让我们更加方便的理解中断这个概念，然我们打个比方：假设你在上网，突然你的朋友要你去踢足球，这就是中断请求。然后你对他喊道：“我就来！等一等]]></description><category></category></item></channel></rss>