- 博客(251)
- 收藏
- 关注
原创 OpenWRT篇——篇:Ubox——list.h(代码注释)
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源:
2022-09-11 13:33:37
719
1
原创 OpenWRT篇——篇:Ubox——list.h
* 双链表结构体 */ struct list_head {/* 后继指针 */ struct list_head * prev;/* 前驱指针 */ };传统的双链表形态常常会将数据和链表结构体指针放在一个结构体中,这样的结构通用性差,只能建立单一的链表,不能在多个链表中共同存在,减少实际可用性。作为通用双链表结构体,双链表结构体中并未定义数据变量,使用者根据具体使用再进行定义。创建一个双链表并初始化name。...
2022-08-30 08:53:57
666
原创 内核双链表篇:list.h——获取链表结点数据:list_entry、list_first_entry、list_last_entry
list_entry:获取链表结点p的数据。:获取链表结点p的下一个结点的数据。:获取链表结点p的上一个结点的数据。
2022-08-28 14:57:30
3124
原创 内核双链表篇:list.h——遍历链表:list_for_each、list_for_each_safe、list_for_each_entry
遍历双链表,不适合与遍历中进行删除节点的操作。遍历链表,相较于多增加了一个中间参数,保存当前结点的下个结点,避免当前结点删除后找不到下个结点。
2022-08-27 17:29:42
1851
原创 内核双链表篇:list.h——container_of 宏的理解
若仅知某结构体的数据类型和其中一个成员变量的数据类型和变量名,但想对该结构体变量中其他成员变量进行操作,则需先得到该结构体变量首地址。则可采用宏进行获得。
2022-08-07 10:25:28
379
原创 Ubuntu篇——终端操作常用快捷键
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】一、终端窗口基本操作序号功能快捷键1新建终端窗口Shift+Ctrl+N/Ctrl+Alt+T2新建终端标签页Shift+Ctrl+T3关闭终端窗口Shift+Ctrl+Q4关闭终端标签页(若为最后标签页则与上同)Shift+Ctrl+W5切换
2022-05-28 15:12:10
8077
1
原创 文件系统篇——篇四:aufs文件系统简单版源码详解
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux内核完全注释》、《深入理解理解Linux内核第三版中文》第十二章(详细的结构体与函数指针的中文注释)上一篇:下一篇:目录:一、源码二、源码详解1、构建文件系统对象(1)挂载超级块函数【.mount】①挂载单例文件系统(仅一个超级块)【mount_single】②超级块
2022-05-22 16:21:57
859
原创 文件系统篇——篇二:文件系统结构体与函数详解注释
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux内核完全注释》、《深入理解理解Linux内核第三版中文》第十二章(详细的结构体与函数指针的中文注释)上一篇:下一篇:目录:一、VFS的四大对象1、超级块对象(super_block)2、索引节点对象(inode)3、目录项对象(dentry)4、文件对象(file)二
2022-05-22 16:20:31
629
原创 文件系统篇——篇一:文件系统与虚拟文件系统概念简介
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《循序渐进Linux:基础知识、服务器搭建、系统管理、性能调优、集群应用》 上一篇:下一篇:目录:一、文件系统1、文件系统是什么?2、文件系统的作用?3、文件系统的好处?4、文件系统使用步骤5、文件系统种类?二、虚拟文件系统1、虚拟文件系统概述2、VFS的四个对象
2022-05-22 16:06:27
577
原创 问题——VScode 头文件波浪线解决
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: VS code找不到头文件目录:问题:解决方法:问题:场景: VScode 找不到头文件(头文件下有波浪线),实际编译是成功的(编译器没找到头文件)。解决方法: ①在软件界面按住Ctrl+Shift+P,在软件上方出现输入框中输入:C/C++:Edit Configur
2022-05-17 14:35:07
9346
原创 文件系统篇——篇二:aufs简介与操作
文章来源:CSDN-Linux AUFS 文件系统aufs简介:操作环境: 内容来源:CSDN-Linux查看系统与内核信息(lsb_release、uname、file) lsb_release -a命令:查询当前 Linux 系统的发行版本 uname命令:查看系统与内核的相关信息。 file 命令:可以通过来判断系统文件(主要是系统命令)的位数,进而推断系统的位数。模块的加载和卸载 内容来源:博客园-Linux模块的加载和卸载 ①查看已安装好的模块:lsmod ls
2022-05-16 11:30:14
2515
原创 数据结构——动态数组(C语言详述通用动态数组)
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《系统程序员成长计划》目录:一、概念1、数组的相关描述?2、静态数组3、动态数组二、通用动态数组1、文件结构2、动态数组结构体3、动态数组的创建与销毁函数一、概念1、数组的相关描述?1️⃣什么是数组? 相同类型元素的集合,分配在一块连续的内存空间。2️⃣数组的分类:(根据
2022-05-11 23:38:13
1040
原创 函数简介篇——assert()宏
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: C语言 assert 函数 - C语言零基础入门教程、assert() 断言函数,用于在调试过程中捕捉程序错误、C语言解读assert函数目录:一、函数简介二、函数示例一、函数简介 assert()常称为断言函数,大部分编译器下assert()是宏不是函数。 通常用于调试中
2022-05-07 13:52:32
1164
原创 读书笔记 ——《系统程序员成长计划》篇4:拥抱变化
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《系统程序员成长计划》上一篇:读书笔记 ——《系统程序员成长计划》篇3:双链表下一篇:读书笔记 ——《系统程序员成长计划》篇5:数据放在哪?目录:一、需求描述二、解决方案1、实现多个函数,需要哪个调用哪个2、传入附加参数决定打印的数据类型3、回调函数法①定义函数指针类型②声明dl
2022-05-06 15:35:08
1570
原创 C语言——数据类型 【32位/64位】下的字节大小
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】一、64位机器汇编代码源文件:datatype.c#include <stdio.h>#include <stdbool.h>typedef unsigned char byte;int main(int argc,char *agv[]){ p
2022-05-01 17:56:57
1483
原创 函数简介篇——线程相关函数
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》目录:一、线程基本操作函数pthread_equal()——比较线程IDpthread_self()——获取调用线程的IDpthread_create()——创建线程pthread_exit() ——结束线程pthread_join() ——阻塞线程pthre
2022-04-18 10:40:04
4726
原创 进程篇——进程汇总
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux网络编程》、《linux系统编程》一、进程的相关概念详细请看: 1️⃣进程引入的原因: 2️⃣程序与进程的概念:程序不是进程,进程是处于执行状态的程序及相关资源的总称 3️⃣进程的组成: 4️⃣进程的标识符:PID 5️⃣进程之间的关系: 6️⃣
2022-04-16 12:34:11
1063
原创 概念篇——进程的概念认识
file:///E:/%E6%96%87%E6%A1%A3%E4%BF%9D%E5%AD%98/-----------%E6%9C%AA%E7%9C%8B-----------/---------LINUX--------/[Linux%E5%86%85%E6%A0%B8%E7%BC%96%E7%A8%8B].(%E7%BD%97%E5%BE%B7%E9%87%8C%E6%A0%BC%E6%96%AF).%E9%99%88%E8%8E%89%E5%90%9B%E7%AD%89.%E6%89%AB%E6%8F
2022-04-16 12:30:55
1246
原创 基础知识——C程序的内存空间布局
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》目录:组成:1.正文段2.初始化数据段3.非初始化数据段4.栈5.堆组成:1.正文段 这是由CPU执行的机器指令部分。通常,正文段是可共享的,所以即使是频繁执行的程序(如文本编辑器、C编译器和shell等)在存储器中也只需有一个副本,另外,正文段常常是
2022-04-14 10:51:45
2101
原创 进程篇——进程间通信(IPC)汇总
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux网络编程》、《linux系统编程》一、概念 Linux下多进程间的通信机制叫做进程间通讯机制(IPC,Inter-Process Communication),是多个进程间进行相互沟通的一种方式。 每个进程都有自己独立的内存空间,通过IPC实现数据共享。 1️
2022-04-14 09:18:11
923
原创 概念篇——IO多路复用的机制
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》目录:一、I/O多路转接的引出不同的I/O使用情形:情形一:一个输入(写),一个输出(读)情形二:两个输入,两个输出二、函数简介一、I/O多路转接的引出不同的I/O使用情形:情形一:一个输入(写),一个输出(读) 常使用以下形式循环中使用阻塞I/O
2022-04-13 14:14:10
911
原创 函数简介篇——IO多路转接函数:select()/pselect()/poll()/ppoll()
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》、man 手册select()函数 1.函数功能:允许程序监视多个文件描述符,直到其中一个或多个文件描述符“准备好”进行某种I/O操作(例如,可能的输入)。如果一个文件描述符可以不阻塞地执行相应的I/O操作(例如,读(2)或足够小的写(2)),则该文件描述
2022-04-13 01:27:56
611
原创 进程篇——守护进程
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux网络编程》、《linux系统编程》什么是守护进程? 守护进程运行在后台,不与任何控制终端相关联。守护进程通常在系统启动时就运行,它们以root用户运行或者其他特殊的用户(例如 apache和postfix),并处理一些系统级的任务。习惯上守护进程的名字通常以d结尾(就
2022-04-12 08:18:14
1568
原创 概念篇——信号与信号集
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Linux系统编程》、《Linux网络编程》信号(signal)P123...
2022-03-27 15:09:15
1444
原创 函数简介篇——信号集相关示例
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》目录:示例一:1️⃣说明:2️⃣源文件:sigmask.c编译运行及结果示例一:1️⃣说明: 开始5秒,无论多少次Ctrl+\,进程将被阻塞并将处理方式改为默认方式,后再输出字符串。 最后5秒,由于已修改为默认方式故直接终止进程。2️⃣源文件:s
2022-03-27 14:49:58
202
原创 函数简介篇——信号集
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 信号集信号集类型sigset_t相关函数【man sigemptyset】(一)sigemptyset() 1.函数功能:将一个信号集的内容清空项目说明函数原型int sigemptyset(sigset_t *set);头文件signal.h
2022-03-27 14:38:00
844
原创 函数简介篇——信号相关函数
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》、man 手册目录:信号函数(一)signal()——信号截取【man 2 signal】(二)kill()——将信号发送给进程/进程组【man 2 kill】(三)raise()——允许向进程自身发送信号【man 3 raise】(四)alarm()——向
2022-03-25 10:49:54
835
原创 函数简介篇——alarm()与pause() 示例
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》目录:示例一:1️⃣说明:2️⃣源文件:alarm.c3️⃣编译运行及结果示例二:1️⃣说明:2️⃣源程序:pause.c3️⃣编译运行及结果示例一:1️⃣说明: 20s后一次性输出20个5,后每1s输出5+(数字++) ①每个进程只有一个闹钟。
2022-03-25 10:48:50
466
原创 函数简介篇——signal示例(附前后台切换)
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》示例一:1️⃣说明: 若捕获用户信号SIGUSR1、SIGUSR2则调用用户创建的信号处理函数sig_usr2️⃣源文件:signal.c#include<stdio.h>#include<unistd.h>#includ
2022-03-24 12:39:05
1663
原创 概念篇——Unix系统信号表(信号说明及默认动作)
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》中表10-1...
2022-03-24 09:06:09
537
原创 函数简介篇——环境变量函数
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》、man 手册目录:()——()——()——()——()——()——()—— 1.函数功能:项目说明函数原型头文件参数说明::返回值成功返回0失败返回-1注意()—— 1.函数功能:项
2022-03-18 17:45:13
719
原创 入门系列:基础认知——环境变量
环境变量是什么? 来自百度百科解释: 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运
2022-03-18 17:14:59
1092
原创 函数简介篇——动态分配函数
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《Unix环境高级编程》、man 手册目录:()——()——()——()——()——()——()——()——()—— 1.函数功能:项目说明函数原型头文件参数说明::返回值成功返回0失败返回-1注意()—— 1.函
2022-03-18 15:29:43
523
原创 高级IO篇——非阻塞IO示例
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 赢在职场视频项目任务: 两个tty设备文件之间数据发送与接收功能。有限状态机编程思维源文件:fsm.c#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#incl
2022-03-18 11:01:00
647
原创 函数简介篇——系统调用函数
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: man文件描述符 打开/创建的文件均通过文件描述符引用,即文件标识符. 文件描述符为非负整数,范围:0~OPEN_MAX 标准文件描述符(定义于:unistd.h): ①STDIN_FILENO = 0 = 标准输入 ②STDOUT_FILENO = 1
2022-03-16 22:54:29
943
原创 入门系列:基础认知——同步与异步
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 一、同步(Synchronous) 同步:相【同】的【步】调 同步在不同场景的含义略有区别,如:生活中: 场景一:两个人跳舞,这两人舞步好同步 ==》舞步一致 场景二:将本地通讯录与云端通讯录同步一下 ==》通讯录一致 所以生活中理解的同步
2022-03-11 22:24:45
521
原创 入门系列:基础认知——串行、并发、并行
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 串行、并行与并发的理解 并发和并行的区别(图解)一、串行(Serial) 1️⃣串:一连串(一列),行:向前走 ==》 一列的向前走 2️⃣在多任务的单处理器执行环境下的表现: 每次只能处理一个任务,处理好后才会处理下一个任务。 3️⃣情景类比:(动车站只开放
2022-03-11 22:24:18
2475
原创 线程篇——线程同步对象-互斥锁API
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 《多线程编程指南》互斥锁 作用:可使线程按顺序执行。 ①确保一次只有一个线程执行代码的临界段来同步多个线程。 ②保护单线程代码。 使用:设置在应用程序开头某处,以便查找和修改。初始化互斥锁属性对象:pthread_mutexattr_init 1.函数功
2021-12-05 14:47:12
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人