自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 问答 (3)
  • 收藏
  • 关注

原创 linux驱动

4..安装nfs服务,并配置nfs服务目录,拷贝rootfs到nfs目录下(拷贝rootfs.tar.gz到nfs服务目录下并解压,使用命令+sudo)1.系统上电后,直接执行norflash中(norflash被接在o地址处)的bootloader程序,bootloader向内核传参,通过。3.根文件系统被挂载完成后,内核会启动根文件系统中的init进程进一步启动shell及用户程序。注------>文件系统:按照特定方式组织的文件的集合。(内核中的init进程退化为用户可视的init进程(1号进程))

2025-08-23 09:15:19 547

原创 html---格式、标签

<title>中文测试。。。。</title>

2025-07-29 17:56:16 710

原创 sqlite3---维护命令、回调函数

/将数据库名称为xxx的数据库整体导出到脚本中。

2025-07-29 15:44:19 364

原创 sqlite3学习---基础知识、增删改查和排序和限制、打开执行关闭函数

sqlite> insert into user3 (NULL,'李四',23,datetime('now'));///删除id=1 的数据;2)create table 表名 (表字段 类型,表字段 类型,。打开指定path路径+文件名称的数据库,并将打开的地址指向db变量的句柄。===>用sqlite3 来打开一个名称为test.db的本地数据库。1)create table 表名(表字段1,表字段2,...);打开数据库 ==》读写数据库(增,删,改,查) ==》关闭数据库。

2025-07-28 19:30:45 826

原创 IPC 进程间通信 interprocess communicate---有名管道、无名管道

==》pipe ==》只能给有亲缘关系进程通信。===》fifo ==》可以给任意单机进程通信。sig 当前程序要发送的信号编号 《=== kill -l。写端是存在的,读管道,如果管道为空的话,读会阻塞。2)无名管道的读写:===》文件IO的读写方式。创建有名管道 ==》打开有名管道 ==》读写管道。pipefd[0] ==>无名管道的固定读端。

2025-07-22 11:26:36 699

原创 线程学习day2---pthread——线程的互斥、同步、产生死锁

互斥锁类型 互斥锁变量 内核对象信号量的类型 信号量的变量。

2025-07-22 10:33:57 835

原创 网络学习day1----tcp/ip协议、udp

为网络用户提供各种服务,例如电子邮件、文件传输等。

2025-07-22 09:25:18 1118

原创 线程学习day1---基础知识+pthread_create、self、exit、cancle、join

线程的回收机制 ====》不同与进程没有孤儿线程和僵尸线程。====》主线程结束任意生成的子线程都会结束。====》子线程的结束不会影响主线程的运行。传整数 ---------》int add(int a,int b);1)如果预估子线程可以有限范围内结束则正常用pthread_join等待回收。retval 要回收的子线程返回值/状态。阻塞等待功能,如果指定的线程没有结束,则回收线程会阻塞。创建多线程 --->线程空间操作 --->线程资源回收。5)线程id是线程的唯一标识,是CPU维护的一组数字。

2025-07-16 19:58:01 1010

原创 进程---基础知识+命令+函数(fork+getpid+exit+wait+exec)

进程是一个程序执行的过程,会去分配内存资源,cpu的调度用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。

2025-07-14 19:36:50 815

原创 数据结构学习day5---散列表+内核链表

哈希表通过键 key和映射函数 Hash(key) 计算出对应的值 value,把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数(散列函数),存放记录的数组叫做哈希表(散列表)。内核链表是一种线性数据结构,其中每个节点包含了数据元素本身以及指向下一个节点的指针。在Linux内核中,这种链表通常被实现为双向链表或循环链表,以支持更高效的插入、删除和遍历操作。

2025-07-08 17:38:19 318

原创 数据结构学习day9---文件io+open、write、read、lseek、fileno、fdopen

O_EXCL,需要和O_CREAT同时使用,表示新建的文件不能存在,成功,否则open就会失败。offset:偏移量,以字节为单位,用于指定从参考点(由whence参数指定)开始移动的距离。SEEK_CUR:从当前文件位置开始计算偏移量。O_ASYNC异步io,什么时候io不确定,一个基于Linux内核的没有缓存的IO机制。内核每打开一个文件就会获得一个文件 描述符。fd:文件描述符,用于指定要操作的文件。通过文件描述符向文件中写一串数据。获得一个文件流指针中的文件描述符。通过文件描述符读取文件中的数据。

2025-07-08 16:19:35 873

原创 数据结构学习day8---strstr+symlink+remove+rename+link+truncate

找到后,按如下格式输出 #define PI 3.14 /home/linux/1.h 25 -----宏的内容 文件名 行号。在一个字符串haystack中查找另一个字符串needle的第一次出现,并返回该位置的指针,如果找不到,则返回NULL。输入一个文件名 *.h 找文件中,所有的#define。创建一个链接向oldpath文件的新符号链接文件。链接文件:file.txt -> hello.c。pathname:删除文件的路径。oldpath:要链接向的文件。软链接文件、符号链接文件。

2025-07-03 19:40:12 335

原创 数据结构学习day7---strtok

当strtok()在参数str的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。4.1将zhangsan:18:188:成都以zhangsan_18_188_成都的形式输出。4.2访问proc中的文件 输出文件中第一、3、6行的内容:name、state、pid。分隔符指针 (可以是一个或多个分割符)成功 指向被分割出片段的指针。

2025-07-03 09:28:09 138

原创 数据结构学习day6---流+读写函数+缓冲+定位函数(fseek、ftell、rewind)

数据从文件当中流入和流出所体现出来的字节流叫做流。

2025-07-01 20:42:54 993

原创 数据结构学习day4---栈+队列+树

队列是只允许在一段进行插入,而在另一端进行删除操作的线性表。允许插入的称谓队尾,允许删除的一端队头。顺序队列。循环队列,n(n>=0)个结点的有限集合。n =0,空树。n个结点的有限集合,集合要么为空树,要么由一个根结点和两棵互不相交,分别称谓根结点的左子树和右子树的二叉树组成。。

2025-06-30 16:11:46 548

原创 数据结构学习day3----gdb

下一步,步入,如果函数,进入函数。(只进入自定义函数,不进入系统函数)2.3b fun.c:36 设置断点,运行到这个位置,程序自动暂停。b 170 mainn函数 . c中第170设置断点。设置断点----程序走到那里就会自动停下来。和p相似,一直显示变量display a;用于跳出循环,在循环后面设置断点,然后按c。2.6 使用p命令,查看变量或指针等数据。下一步,步过,如果是函数,直接调用结束。display是敲一次就一直显示。显示茂结构,函数的调用关系。--->代码直接运行。

2025-06-26 14:05:06 217

原创 数据结构day2----顺序表(二)+链表+双向链表

解决顺序存储的缺点,插入和删除,动态存储问题。

2025-06-25 11:36:30 174

原创 数据结构学习day1-----基础知识+顺序表

相互之间存在一种或多种特定关系的数据元素的集合。是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。是解决特定问题求解步骤的描述,计算机中表现为指令的有限序列,每条指令表示一个或多个操作。零个或多个数据元素的有限序列元素之间是有顺序了。如果存在多个元素,第一个元素无前驱,最有一个没有后继,其他的元素只有一个前驱和一个后继。当线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,为空表。在非空的表中每个元素都有一个确定的位置,如果a1是第一个元素,那么an就是第n个元素。

2025-06-24 10:35:47 443

原创 C语言学习day17-----位运算

二进制位上的运算。

2025-06-19 22:20:35 864

原创 C语言学习day16----共用体+枚举+typedef

1)因为共用体成员变量共用同一块空间2)共用体的大小=成员变量中最大的那个成员大小3)共用体各个成员的起始地址时如果一个变量只有几种可能的值,则可以定义为枚举类型。所谓"枚举"是指将变量的值-一一列举出来, 变量的值只限于列举出来的值的范围内。都可以提供共可读性更好的常量名。

2025-06-18 21:22:39 616

原创 C语言学习day15---指针(四)+结构体

/(理解角度)就是一个指向 int (int a,int b) 这种函数的 一个指针变量。int (*compar)(const void *, const void *) //比较的规则。1)功能:将堆区空间释放 //将之前在用的空间交还给操作系统,告诉操作系统,说这块空间不用了,可以回收。原因,指针类型传参时大小固定,如果是结构体类型变量 --- 变量的大小取决于结构体类型大小。//正确的C语言写法。//int是数据类型的类型名 ---关键字。

2025-06-18 20:50:40 857

原创 C语言学习day14---指针(三)

处理多个字符串------->栈 --可读可写------->数组本身的空间是在栈上的,但是字符串的数据是在字符串常量区。

2025-06-16 21:18:43 769

原创 C语言学习day13---指针(二)

/"hello" ---字符串常量 --- 字符串常量区。//char s[10] //字符型一维数组 --- 空间开 栈上。------如果被调函数中 做的只是读操作 ,没有修改操作。//用字符串常量区中"hello"初始化了栈上s的空间。void * --- 空类型指针 //它的基类型为空 (void) //万能指针。//将字符串常量区中"hello"的地址给到p中。5)char * const s 表示s是只读的,不能被修改 ,s的指向不能被改变。

2025-06-16 19:38:39 568

原创 C语言学习day12-----指针

指针----是具有指向(指向内存单元)含义的数据----是地址(内存单元的编号)

2025-06-12 20:48:35 775

原创 C语言学习day11----标识符、预处理

3.2.1.1定义:用一个指定的标识符(即名字)来代表一个字符串3.2.1.2语法#define 标识符 字符串#define 宏名 宏值3.2.1.3说明1)宏名-----自己定义一个标识符 (符合标识命名规则),一般建议写成大写以便与区分2)宏值-----表示宏名要代表的值。它本身只是一个文本字符串 (文本信息) 与c语言中字符串常量不是一个概念代码实现经过预处理后的 .i 文件--->3)预处理阶段做的工作文本的原样替换,用宏值替换宏名4)宏定义最后不写分号,除非需要。

2025-06-11 20:28:03 887

原创 C语言学习day10--函数(二)

/a[0] //int型的数据 //变量。printArray(int a[3][4],int row) //正确语法形式。// 实参 给的是 a[3](1).将n-1 个盘子 A(起始)->B(辅助)(3).将n-1 个盘子 B(辅助)->C(目标)(2).将第n 个盘子 A(起始)->C(目标)----> 函数的形参设计为对应类型的一个变量即可。----> 函数的实参,传递对应的数组元素即可。直接 A(起始)->C(目标)n个盘子 A(起始)->C(目标)

2025-06-10 21:35:23 707

原创 C语言学习day9--函数

--- 自己调用自己过程。

2025-06-09 21:31:24 867

原创 C语言学习day8---二维数组

------>数组的数组// 一维数组的 (int[4]) 一维数组,包含了总共12个int型元素的二维数组。

2025-06-06 21:03:35 242

原创 C语言学习day7--数组

step2:a数组中从第0位开始插入,顺着到第1位插入,第1位与第0位相比较,小的在前,大的在后,同理,第2位插入,第2位与第1位相比较在换位,然后与第0位相比较在换位。虽然是按照字符数组的方式处理的,但是对于字符串,我们不大关注数组的长度,而更关注的是字符串的长度和整个字符串本身。step1:定义一个数组a[ ]={5,2,6,1,4,7,3,8};插入数组b[8]中。step1:定义一个数组a[ ]={5,2,6,1,4,7,3,8};字符串的长度 ---- '\0' 字符的个数 --- 5个字符。

2025-06-05 21:20:34 481

原创 C语言学习day6--数组

1.1格式:类型说明符 数组名[常量表达式];类型说明符 数组名[常量表达式] //有一个[ ]这种 一维数组类型说明符 数组名[常量表达式][常量表达式];//二维数组注:数组也是一种数据类型1.2有整型和浮点型//定义了一个名叫a,含10个int型变量的数组。

2025-06-04 20:57:21 269

原创 C语言学习day05

今日主要学习if语句switch语句和循环语句。

2025-06-04 09:35:33 228

原创 C语言学习day4

今日学习语句与输入输出。

2025-05-29 21:09:33 1002

原创 c语言学习day3

今日学习运算符和表达式表达式:由运算符和运算数构成的字符序列表达式都是有结果的,表达式都是有数据类型的。

2025-05-29 02:46:18 618

原创 C语言学习day2

以应用为中心(专门的应用场景)、以计算机技术为基础(软件、硬件、CPU、内存、硬盘、输入设备、输出设备)、软件硬件可裁剪(eg:路由器,路由器操作系统 -openwrt )、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2025-05-28 01:13:08 702

原创 C语言学习day1

今天主要对linux基础进行学习。

2025-05-26 21:55:38 642

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除