<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LEE_C17的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LEE_C17</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LEE_C17]]></copyright><item><title><![CDATA[framebuffer在Ubuntu上的操作]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/142150118</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/142150118</guid><author>LEE_C17</author><pubDate>Wed, 11 Sep 2024 21:05:18 +0800</pubDate><description><![CDATA[【代码】framebuffer在Ubuntu上的操作。]]></description><category></category></item><item><title><![CDATA[Frame Buffer]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/142108693</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/142108693</guid><author>LEE_C17</author><pubDate>Tue, 10 Sep 2024 20:41:58 +0800</pubDate><description><![CDATA[Frame buffer 是显卡存储的视频数据，在 Linux 系统中通常被抽象为 /dev/fbX 文件（X 表示不同的设备编号）。应用程序可以通过这个设备文件直接与显卡进行交互，读写像素数据以显示内容。]]></description><category></category></item><item><title><![CDATA[哈希表与算法时间复杂度]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/142066714</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/142066714</guid><author>LEE_C17</author><pubDate>Mon, 09 Sep 2024 19:12:09 +0800</pubDate><description><![CDATA[（Hash Table），它通过哈希函数将键值映射到特定的数组索引，从而实现高效的查找、插入和删除操作。其核心思想是将数据直接存储到具有固定大小的数组中，通过哈希函数计算出每个数据的存储位置。]]></description><category></category></item><item><title><![CDATA[数据结构：二叉树]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/142064394</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/142064394</guid><author>LEE_C17</author><pubDate>Mon, 09 Sep 2024 17:36:54 +0800</pubDate><description><![CDATA[二叉树（binary tree）是一种非线性数据结构，代表“祖先”与“后代”之间的派生关系，体现了“一分为二”的分治逻辑。与链表类似，二叉树的基本单元是节点，每个节点包含值、左子节点引用和右子节点引用。每个节点都有两个引用（指针），分别指向左子节点（left-child node）和右子节点（right-child node），该节点被称为这两个子节点的父节点（parent node）。]]></description><category></category></item><item><title><![CDATA[数据结构：栈和队列(Stack & Queue)]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141968369</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141968369</guid><author>LEE_C17</author><pubDate>Fri, 06 Sep 2024 20:31:44 +0800</pubDate><description><![CDATA[队列（queue）是只允许在一端进行插入操作，而在另一端进行删除操作的线性表。队列是一种先进先出（First In First Out）的线性表，简称FIFO。允许插入的一端称为队尾，允许删除的一端称为队头。队头（Front）：允许删除的一端，又称队首。队尾（Rear）：允许插入的一端。空队列：不包含任何元素的空表。假性溢出：如图d，队列出现“上溢出”，然而却又不是真正的溢出，所以是一种“假溢出”。]]></description><category></category></item><item><title><![CDATA[数据结构—内核链表]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141941192</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141941192</guid><author>LEE_C17</author><pubDate>Thu, 05 Sep 2024 21:35:45 +0800</pubDate><description><![CDATA[内核链表是一种在操作系统内核中广泛使用的数据结构，特别是在Linux内核中。它主要用于高效地管理和遍历内核中的对象，如进程、设备、文件等。每个链表节点都包含指向前一个节点和后一个节点的指针，这使得从任何节点出发都可以方便地遍历整个链表。内核链表的设计使其能够通用于不同类型的内核对象。通过在结构体中包含一个指向链表节点的指针（如struct list_head类型），任何结构体都可以轻松地加入到链表中，而无需修改链表本身的结构。]]></description><category></category></item><item><title><![CDATA[数据结构—双向链表]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141903052</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141903052</guid><author>LEE_C17</author><pubDate>Wed, 04 Sep 2024 20:30:50 +0800</pubDate><description><![CDATA[主要结构是由，这三个结构组成，通过prev找到前一个节点，next指向下一个节点。结构：节点（Node）：每个节点包含三部分：数据（Data）：存储节点的值。前指针（Prev）：指向链表中前一个节点的指针。后指针（Next）：指向链表中下一个节点的指针。在双向链表中同样可以实现单向链表中的头插，尾插，头删等操作。此外，如用到结构体，结构体可以整体赋值。特点：单向遍历：单向链表只能从头节点开始，按顺序向下遍历，直到链表的末尾。无法逆向遍历。]]></description><category></category></item><item><title><![CDATA[数据结构—单向链表]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141871992</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141871992</guid><author>LEE_C17</author><pubDate>Tue, 03 Sep 2024 21:16:26 +0800</pubDate><description><![CDATA[*链表存储的数据的数据类型*//*链表的结点类型*///数据域//指针域：指向下一个结点/*链表的对象类型*///链表头结点地址int clen;//链表当前结点个数}Link_t;#endif。]]></description><category></category></item><item><title><![CDATA[数据库—专业储存大量数据]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141688741</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141688741</guid><author>LEE_C17</author><pubDate>Thu, 29 Aug 2024 21:20:55 +0800</pubDate><description><![CDATA[1、内存存数据:当程序运行结束，掉电，数据丢失。(数组、链表、变量等)2、硬盘存数据:程序运行结束，掉电，数据不丢失(1)文件:对数据管理(增删改查)效率低.(2)数据库:专业存储数据，可存大量数据。对数据管理效率高，使用方便。]]></description><category></category></item><item><title><![CDATA[IO多路复用]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141648551</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141648551</guid><author>LEE_C17</author><pubDate>Wed, 28 Aug 2024 20:15:52 +0800</pubDate><description><![CDATA[epoll是Linux特有的I/O事件通知机制，它是基于事件驱动的方式来处理多个文件描述符的I/O操作。相比于传统的select和poll方法，epoll能够更高效地处理大量的并发连接，因为它在内核中使用了更高效的数据结构和算法。exceptfds：指向异常文件描述符集合的指针，如果不关心异常文件描述符，则传入NULL。writefds：指向可写文件描述符集合的指针，如果不关心可写文件描述符，则传入NULL。readfds：指向可读文件描述符集合的指针，如果不关心可读文件描述符，则传入NULL。]]></description><category></category></item><item><title><![CDATA[实现并发网络服务器]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141611947</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141611947</guid><author>LEE_C17</author><pubDate>Tue, 27 Aug 2024 21:01:57 +0800</pubDate><description><![CDATA[1.单循环网络服务器 —— 同一时刻只能处理一个客户端任务2.并发服务器 —— 同一时刻能处理多个客户端任务。]]></description><category></category></item><item><title><![CDATA[粘包，Telnet,SSH,Wireshark]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141473699</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141473699</guid><author>LEE_C17</author><pubDate>Fri, 23 Aug 2024 20:42:00 +0800</pubDate><description><![CDATA[原因：tcp为流式套接字，数据与数据间没有边界，导致多次数据粘到一起。解决：1.规定一些数据间的间隔符，"\aa","\r\n";2.可以指定要发送对象的数据长度。3.自己将数据打包。]]></description><category></category></item><item><title><![CDATA[udp recvfrom函数 tcp c/s模型]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141438662</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141438662</guid><author>LEE_C17</author><pubDate>Thu, 22 Aug 2024 22:13:33 +0800</pubDate><description><![CDATA[参数：ssize_t recvfrom(int sockfd,       socket的fdvoid *buf,  保存数据的一块空间的地址size_t len,   这块空间的大小int flags,   0  默认的接收方式 --- 阻塞方式struct sockaddr *src_addr,    用来保存发送方的地址信息socklen_t *addrlen   表示发送方实际的地址信息大小返回值:成功 返回接收到的字节数失败  -1。]]></description><category></category></item><item><title><![CDATA[IP进程间的通信方式以及不同主机间的通信方式]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141401419</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141401419</guid><author>LEE_C17</author><pubDate>Wed, 21 Aug 2024 20:11:31 +0800</pubDate><description><![CDATA[1.是一块内核的预留空间2.避免了用户空间到内核空间的数据拷贝。]]></description><category></category></item><item><title><![CDATA[线程中的顺序问题，信号量和进程间的通信—管道]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141269079</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141269079</guid><author>LEE_C17</author><pubDate>Fri, 16 Aug 2024 20:58:44 +0800</pubDate><description><![CDATA[今天主要学习了线程中的顺序问题，信号量和进程间的通信—管道。]]></description><category></category></item><item><title><![CDATA[线程的结束 ，互斥锁，进程与线程]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141230611</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141230611</guid><author>LEE_C17</author><pubDate>Thu, 15 Aug 2024 20:13:30 +0800</pubDate><description><![CDATA[int count;int i = 0;++i;int i = 0;++i;if(ret!= 0)if(ret!未上锁。]]></description><category></category></item><item><title><![CDATA[wait函数，线程]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141198862</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141198862</guid><author>LEE_C17</author><pubDate>Wed, 14 Aug 2024 20:08:36 +0800</pubDate><description><![CDATA[今天主要对从昨天的进程进行了补充，学习了线程。]]></description><category></category></item><item><title><![CDATA[fork函数补充，exec函数]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141171011</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141171011</guid><author>LEE_C17</author><pubDate>Tue, 13 Aug 2024 20:24:43 +0800</pubDate><description><![CDATA[今天对昨天的fork函数进行了补充，并且学习了exec函数。]]></description><category></category></item><item><title><![CDATA[进程的生命周期，kill，fork函数，父子进程]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141140577</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141140577</guid><author>LEE_C17</author><pubDate>Mon, 12 Aug 2024 20:30:51 +0800</pubDate><description><![CDATA[在Linux系统中，kill命令用于向运行中的进程发送信号，默认发送的信号是终止信号，会请求进程退出。kill（杀）可能会引起误解，实际上发送的信号可能与杀死进程无关。我们最常使用到的kill命令为：kill PID前者为请求目标进程退出，后者为强制杀死目标进程。]]></description><category></category></item><item><title><![CDATA[时间函数，文件操作函数，Makefile]]></title><link>https://blog.youkuaiyun.com/LEE_C17/article/details/141034296</link><guid>https://blog.youkuaiyun.com/LEE_C17/article/details/141034296</guid><author>LEE_C17</author><pubDate>Thu, 08 Aug 2024 19:52:45 +0800</pubDate><description><![CDATA[字符串处理中的link函数（误解）在C语言中，对于字符串处理，并没有直接名为link的标准函数。如果你看到或听到关于link函数用于字符串处理的描述，这很可能是一个误解或特定上下文中的自定义函数。例如，在某些情况下，可能会编写一个自定义的link函数，用于将两个字符串数组合并到一个新的字符串数组中，但这并不是C语言标准库的一部分。]]></description><category></category></item></channel></rss>