<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[楚小狂]]></title><description><![CDATA[行走江湖，不管得与失，只看悟与渡！]]></description><link>https://blog.youkuaiyun.com/zyxlinux888</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zyxlinux888]]></copyright><item><title><![CDATA[多队列 网卡 收发包 DMA]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/38095951</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/38095951</guid><author>zyxlinux888</author><pubDate>Thu, 24 Jul 2014 22:49:17 +0800</pubDate><description><![CDATA[#include   
#include   
#include   
#include 




#define NUM 50005  
int dst[NUM];  //dst[]最终目标序列
int src[NUM];  //src[]源序列
int ret = 0 ; //是否有合法序列


int buddy[NUM][3];//每个人的伙伴需求 buddy[]]></description><category></category></item><item><title><![CDATA[kprobe]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/35787257</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/35787257</guid><author>zyxlinux888</author><pubDate>Sun, 29 Jun 2014 16:12:55 +0800</pubDate><description><![CDATA[kprobe 调试Linux 内核例子，记录便于查找
http://hi.baidu.com/widebright/item/a08be435ea5eb299b80c03a7]]></description><category></category></item><item><title><![CDATA[Linux 文件操作中的阻塞和非阻塞操作]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8897814</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8897814</guid><author>zyxlinux888</author><pubDate>Tue, 07 May 2013 22:36:05 +0800</pubDate><description><![CDATA[转：http://blog.sina.com.cn/s/blog_5f84dc840100n2hb.html




//源代码

#include 

#include 

#include 

#include 

#include 




char buffer[4096];

int main(int argc,char **argv)]]></description><category></category></item><item><title><![CDATA[linux read() 函数]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8892720</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8892720</guid><author>zyxlinux888</author><pubDate>Mon, 06 May 2013 22:14:47 +0800</pubDate><description><![CDATA[read()函数





read 函数从打开的设备或文件中读取数据。  

#include     
ssize_t read(int fd, void *buf, size_t count);  
返回值：成功返回读取的字节数，出错返回-1并设置errno，如果在调read之前已到达文件末尾，则这次read返回0
参数
count
是请求读取的字节数，读上来的数据保存]]></description><category></category></item><item><title><![CDATA[linux中fork（）函数详解（原创！！实例讲解）]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8887557</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8887557</guid><author>zyxlinux888</author><pubDate>Sun, 05 May 2013 18:53:46 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/jason314/article/details/5640969

 一、fork入门知识

     一个进程，包括代码、数据和分配给进程的资源。fork（）函数通过系统调用创建一个与原来进程几乎完全相同的进程，也就是两个进程可以做完全相同的事，但如果初始参数或者传入的变量不同，两个进程也可以做不同的事。
    一个进程调用fork（）]]></description><category></category></item><item><title><![CDATA[[程序猿感悟] 一个女程序员的创业感想]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8435232</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8435232</guid><author>zyxlinux888</author><pubDate>Tue, 25 Dec 2012 21:26:01 +0800</pubDate><description><![CDATA[现在基本上我去做每个用户，技术交流我亲自拿笔记本电脑和别人讲，方案我亲自写，客户关系我亲自做，我能把安全界所有厂家的技术优劣势说清楚，而且我做关系做得不错，基本上谈10个项目，会中8 个，因为技术讲得有一套，然后我很擅长和高层打交道，我和高层打交道都是用人格魅力征服他们，我和所有的老总刚接触都会表现的特别优秀，让别人很佩服我，然后我又会做出很柔弱的样子，楚楚可怜的，和他们说创业如何艰辛，最后所有的]]></description><category></category></item><item><title><![CDATA[Makefile中常用的函数]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8333579</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8333579</guid><author>zyxlinux888</author><pubDate>Wed, 19 Dec 2012 21:19:40 +0800</pubDate><description><![CDATA[在Makefile中可以使用函数来处理变量，从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多，不过已经足够我们的操作了。函数调用后，函数的返回值可以当做变量来使用。
一、函数的调用语法
函数调用，很像变量的使用，也是以“$”来标识的，其语法如下：
    $(
)
或是
    ${
}
这里，就是函数名，make支持的函数不多。是函数的参数，参数间以逗]]></description><category></category></item><item><title><![CDATA[fgets，优先级问题导致Segmentation fault]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8274787</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8274787</guid><author>zyxlinux888</author><pubDate>Sun, 09 Dec 2012 13:29:46 +0800</pubDate><description><![CDATA[首先，看段代码
 
 1 #include 
  2 
  3 int main()
  4 {
  5     char buffer[BUFSIZ+1];
  6     FILE *fpin;
  7 
  8     if((fpin = fopen("test","r") == NULL))
  9     {
 10         printf("can't o]]></description><category></category></item><item><title><![CDATA[sigsuspend 函数使用 及与 pause 区别]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8267266</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8267266</guid><author>zyxlinux888</author><pubDate>Thu, 06 Dec 2012 22:16:37 +0800</pubDate><description><![CDATA[sigsuspend函数 ：
sigsuspend函数接受一个信号集指针，将信号屏蔽字设置为信号集中的值，在进程接受到一个信号之前，进程会挂起，当捕捉一个信

号，首先执行信号处理程序，然后从sigsuspend返回，最后将信号屏蔽字恢复为调用sigsuspend之前的值。

#include 
int sigsuspend(const sigset_t *sigmask);]]></description><category></category></item><item><title><![CDATA[VIM基本操作和设置]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262613</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262613</guid><author>zyxlinux888</author><pubDate>Wed, 05 Dec 2012 21:44:37 +0800</pubDate><description><![CDATA[一、基本编辑功能
1、复制、剪切和粘贴
复制特定的某一段：把光标移到要复制的文本的头部，按下“v”，往后移动光标，光标所过之处的字符>都会高亮，移到欲复制文本的尾部后，按下“y”，高亮文本全部被复制到剪粘板。
复制某一行：把光标移到要复制的那一行，按下“yy”，该行就被复制到剪粘板。
剪切特定的某一段：把光标移到要剪切的文本的头部，按下“v”，往后移动光标，光标所过之处的字符>都会高亮，移]]></description><category></category></item><item><title><![CDATA[ubuntu10.10设置vim语法高亮和自动缩进]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262580</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262580</guid><author>zyxlinux888</author><pubDate>Wed, 05 Dec 2012 21:36:41 +0800</pubDate><description><![CDATA[1、安装vim
       sudo apt-get install vim

2、我们可以在家目录下建立自己的配置文件
切换到家目录 #cd ~
touch一个名为.vimrc的文件（以.开头的为隐藏文件）
#touch .vimrc
#vi .vimrc
输入以下配置：
set nocompatible       不使用vi默认键盘布局   
set nu]]></description><category></category></item><item><title><![CDATA[用vim实现C++代码的自动补全功能]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262531</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262531</guid><author>zyxlinux888</author><pubDate>Wed, 05 Dec 2012 21:21:57 +0800</pubDate><description><![CDATA[使用过Source Insight的人一定对它的自动补全功能印象深刻，在很多的集成开发环境中，也都支持自动补全。VIM做为一个出色的编辑器，这样的功能当然少不了。而且，作为一个通用的编辑器，VIM实现的补全功能并不仅仅限于对程序的补全，它可以对文件名补全、根据字典进行补全、根据本缓冲区或其它缓冲区类似的内容进行补全、根据文件语法补全等等，它甚至允许用户自己编写函数来实现定制的补全。
作为系列文章]]></description><category></category></item><item><title><![CDATA[VIM C语言函数名高亮]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262517</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8262517</guid><author>zyxlinux888</author><pubDate>Wed, 05 Dec 2012 21:19:37 +0800</pubDate><description><![CDATA[VIM默认情况下，函数名是不会高亮的，将下面这段代码添加到/usr/share/vim/vim73/syntax/c.vim文件的末尾即可：





"highlight Functions
syn match cFunctions "\[^()]*)("me=e-2
syn match cFunctions "\\s*("me=e-1
hi cFunctions gui=NONE]]></description><category></category></item><item><title><![CDATA[C++ 指针比较大小]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8123492</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8123492</guid><author>zyxlinux888</author><pubDate>Mon, 29 Oct 2012 11:19:29 +0800</pubDate><description><![CDATA[C++ 指针比较大小
对象指针的值是映射到线性地址空间的整数值，C/C++允许对两个类型相同的对象指针进行比较运算，包括==、!=、、=。所以LZ问题的答案是肯定的。
对于不同类型的对象指针，经过转换可以比较；由于C++的静态类型检查比C更严格，相同的代码有可能C++编译器产生编译错误，而C编译器仅因为缺少隐式转换产生警告。
C++的成员指针一般用偏移量实现，但不一定表示具体的地址或偏移量（可以]]></description><category></category></item><item><title><![CDATA[VC小技巧]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8106978</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8106978</guid><author>zyxlinux888</author><pubDate>Wed, 24 Oct 2012 14:30:21 +0800</pubDate><description><![CDATA[1、设置MainFrame标题

首先：
BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT& cs)   
{   
         cs.style   &= ~FWS_ADDTOTITLE;  // 把cs.style中的FWS_ADDTOTITLE风格去掉 
         if( !CFrameWnd::PreCreateWin]]></description><category></category></item><item><title><![CDATA[Visual Assist X 中文注释识别错误解决方法]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8093742</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8093742</guid><author>zyxlinux888</author><pubDate>Sat, 20 Oct 2012 19:47:25 +0800</pubDate><description><![CDATA[我用的是Visual Studio 2010




刚安装好 Visual Assist X 


一大片中文注视就画红色波浪线


这是因为 Visual Assist X 认为中文的注释是拼写错误。








解决方法：


去掉Visual Assist X Options->Advanced->Underlines的Underline]]></description><category></category></item><item><title><![CDATA[mfc100ud.dll丢失，移植到XP系统无法运行。]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8093740</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8093740</guid><author>zyxlinux888</author><pubDate>Sat, 20 Oct 2012 19:46:32 +0800</pubDate><description><![CDATA[使用VC2010生成的可执行程序移植到其他环境中运行，会提示“mfc100ud.dll丢失”。

    打开项目，选择属性，分三步：

   （1）选择左上角的configuration->Active(Debug)

            configuration properties->general->use of MFC,选择use MFC in a static lib]]></description><category></category></item><item><title><![CDATA[VC多文档初始框架视图最大化]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8085745</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8085745</guid><author>zyxlinux888</author><pubDate>Thu, 18 Oct 2012 14:55:08 +0800</pubDate><description><![CDATA[在利用VC++开发软件时，开发多文档形式在初始化时，使其框架以及视图最大化的一个简单方法为：

1、框架最大化为在应用程序类的初始化函数中添加如下代码：   
  BOOL   CMDIAppDemoApp::InitInstance()   
  {   
  ...   ...   
  pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);]]></description><category></category></item><item><title><![CDATA[全局变量与全局静态变量的区别]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8080261</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8080261</guid><author>zyxlinux888</author><pubDate>Wed, 17 Oct 2012 10:44:35 +0800</pubDate><description><![CDATA[全局变量与全局静态变量的区别： 
 (a）若程序由一个源文件构成时，全局变量与全局静态变量没有区别。 
 (b)若程序由多个源文件构成时，全局变量与全局静态变量不同：全局静态变量使得该变量成为定义该变量的源文件所独享，即：全局静态变量对组成该程序的其它源文件是无效的。 
 (c)具有外部链接的静态；可以在所有源文件里调用；除了本文件，其他文件可以通过extern的方式引用；

静态全局变量的作用：]]></description><category></category></item><item><title><![CDATA[const char*转char*，去掉const 属性]]></title><link>https://blog.youkuaiyun.com/zyxlinux888/article/details/8070595</link><guid>https://blog.youkuaiyun.com/zyxlinux888/article/details/8070595</guid><author>zyxlinux888</author><pubDate>Sun, 14 Oct 2012 20:57:05 +0800</pubDate><description><![CDATA[const char* = char*  char*转const char* 可以转。发过来不行
去掉const属性方法如下：
string str = "aaa";
char* p =const_cast(str.c_str());
printf("%s",p);


const_cast用来丢弃变量的const声明，但不能改变变量所指向的对象的const属性。即：const_cast]]></description><category></category></item></channel></rss>