<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fukerrrrrr的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fukerrrrrr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fukerrrrrr]]></copyright><item><title><![CDATA[linux内核编程入门：hello world 及 基础socket通信模块]]></title><link>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123496298</link><guid>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123496298</guid><author>fukerrrrrr</author><pubDate>Tue, 15 Mar 2022 10:47:49 +0800</pubDate><description><![CDATA[此文转载至：https://www.cnblogs.com/bitor/p/9608725.html
  首先得了解一下什么是内核模块： 模块是具有独立功能的程序，它可以被单独编译，但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行，这与运行在用户空间的进程是不同的。模块通常由一组函数和数据结构组成，用来实现一种文件系统、一个驱动程序或其他内核上层的功能。
  这样说吧，模块就是整个内核的一部分。但是跟C程序中函数不一样的一点是，内核模块可以在它所认为适当的时候，插入到内核或者从内核中删除]]></description><category></category></item><item><title><![CDATA[二叉树的简单实现 C++]]></title><link>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123480007</link><guid>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123480007</guid><author>fukerrrrrr</author><pubDate>Mon, 14 Mar 2022 15:33:35 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;

using namespace std;

struct tree
{
    /* data */
    int data;
    tree *left, *right;
};

class Btree
{
    static int leafNode; //叶子节点数
    static int oneDegreeNode; //度数为1的节点数
    
    public:tree *root;
    
    Btree()//构造]]></description><category></category></item><item><title><![CDATA[linux C 可变参数配合vsnprintf的使用]]></title><link>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123394398</link><guid>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123394398</guid><author>fukerrrrrr</author><pubDate>Thu, 10 Mar 2022 10:40:29 +0800</pubDate><description><![CDATA[可变参数简介
大多时候开发时函数入参数量是确定的，但在特定情况下会有可变数量参数的需求。
在C语言中提供了一个解决方案，需要引用头文件 ：#include &lt;stdarg.h&gt;
一、函数接口介绍


1、void va_start (va_list ap, last);
ap：va_list 类型的变量，指向参数的指针
last：最后一个显式声明的参数，以用来获取第一个变长参数的位置


2、type va_arg(va_list ap, type);
ap：va_list 类型的变量，指向参数]]></description><category></category></item><item><title><![CDATA[c语言中的正则表达式regex.h]]></title><link>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123377005</link><guid>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123377005</guid><author>fukerrrrrr</author><pubDate>Wed, 09 Mar 2022 14:38:24 +0800</pubDate><description><![CDATA[如果用户熟悉Linux下的sed、awk、grep或vi，那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度，因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利，作为C语言程序员，用户同样可以在自己的程序中运用正则表达式。
标准的C和C++都不支持正则表达式，但有一些函数库可以辅助C/C++程序员完成这一功能，其中最著名的当数Philip Hazel的Perl-Compatible Regular Expr]]></description><category></category></item><item><title><![CDATA[#ifdef怎么实现 “与或”]]></title><link>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123322815</link><guid>https://blog.youkuaiyun.com/fukerrrrrr/article/details/123322815</guid><author>fukerrrrrr</author><pubDate>Mon, 07 Mar 2022 09:55:07 +0800</pubDate><description><![CDATA[#if (!defined A) || (defined B)
...
#endif


]]></description><category></category></item></channel></rss>