- 博客(38)
- 收藏
- 关注
原创 自动创建设备节点udev机制的分析
在没有引入udev机制前,我们应用程序要想控制硬件,必须在驱动安装注册之后,根据生成的主设备号,去手动创建设备节点文件(mknod /dev/* xx xx xx),这样做虽然可行,但显得笨重。所以我们引入udev机制来解决此类问题。
2023-09-12 19:36:58
265
原创 C++ 手动封装一个顺序栈类,私有成员属性:1.一个指向堆区的指针,一个指向栈顶元素的变量
【代码】C++ 手动封装一个顺序栈类,私有成员属性:1.一个指向堆区的指针,一个指向栈顶元素的变量。
2023-07-18 18:38:12
594
原创 多线程****创建,退出,回收,获取线程号,发信号,分离态,以及多线程间的同步互斥机制
printf("我是主线程,子线程id = %#lx 主线程id = %#lx\n",tid,pthread_self());printf("[%#lx]:我消费了一辆跑车\n",pthread_self());//初始化无名信号量 第一个0:线程之间共享无名信号量。printf("我是子线程,我要退出\n");printf("我是子线程,我要退出\n");printf("我是线程1\n");
2023-06-28 20:04:15
354
原创 IO 文件IO
一、stdin/stdout/stderr 对应的文件描述符。四、使用write&&read 实现文件拷贝。七、文件状态函数stat 的使用。二、open/close的使用。三、read/write 使用。六、关于文件描述符的拷贝问题。不遵循从小未分配原则,共享光标。五、lseek函数的使用。共享光标,同一个描述符。
2023-06-25 19:57:44
108
1
原创 IO 向文件中输出时间 fread fwrite 实现两个文件的拷贝 课堂代码
printf("行缓存使用缓存区时: %ld\n",stdin->_IO_buf_end-stdin->_IO_buf_base);printf("没有使用缓存区时: %ld\n",stdin->_IO_buf_end-stdin->_IO_buf_base);printf("全缓存使用缓存区时: %ld\n",fp->_IO_buf_end-fp->_IO_buf_base);//4.当使用fflush函数刷新时,也会刷新缓存区。//当缓存区没有到刷新时机时,不会刷新缓存区。printf("注册成功!
2023-06-23 17:10:11
685
1
原创 【顺序表插入,删除,去重】【链表头插头删,尾插尾删,逆置,排序】【双向链表头插头删,尾插尾删】【循环队列】【二叉树创建和遍历】【插入排序】
printf("请输出你想删除的元素:(只能删除第一个哦~~)");printf("请输入第%d个的值:",L->len+1);printf("请输入第%d个的值:",L->len+1);printf("请输入第%d个值:",L->len+1);printf("请输入第%d个值:",L->len+1);printf("请输入你要入队的元素:");printf("请输入你想要全部删除的元素:");printf("请输入你想要创建的链表长度:");printf("请输入想要删除元素的下标:");
2023-06-17 18:53:55
123
原创 【顺序表插入 删除 去重 】【单链表头插 尾插 头删 尾删】 【链表 逆置 排序】【双向链表 头插头删 尾插尾删】【循环队列】【二叉树创建与遍历】【插入排序】
printf("请输出你想删除的元素:(只能删除第一个哦~~)");printf("请输入第%d个的值:",L->len+1);printf("请输入第%d个的值:",L->len+1);printf("请输入你想要全部删除的元素:");printf("请输入你想要创建的链表长度:");printf("请输入你想要创建的链表长度:");printf("请输入想要删除元素的下标:");printf("请输入元素值:");printf("请输入要插入的个数:");
2023-06-17 14:33:31
143
原创 数据结构DAY4 链表按元素增删改查 单链表逆置
/利用search_data函数找到下标。//利用search_data函数找到下标。else if(m==0) //m==0 创建普通节点的空间。//参数:元素值key 链表-即头结点 一个指向头结点的指针rear。if(m==1) //m==1 创建头结点的空间。//search_data函数返回一个下标 定义int接返回值。
2023-06-13 20:12:22
82
原创 数据结构DAY3 顺序表按元素修改 删除 插入 排序(冒泡,简单选择) 合并
printf("请输入你想要在哪个元素处插入:");printf("请输入你要输入的元素个数:");printf("请输入你想要插入的元素值:");printf("请输入你要输入的元素个数:");printf("请输入你想要删除的元素:");printf("请检查程序!printf("请输入你要修改的值:");printf("请输入修改后的值:");printf("请输入元素数值:");printf("请输入元素数值:");//顺序表按元素修改。//顺序表按元素删除。//顺序表按元素插入。
2023-06-13 08:55:20
54
原创 数据结构DAY1+DAY2 思维导图 + 自定义函数(申请空间+输入 +排序+输出)
printf("请输入你要创建的结构体空间大小:");printf("品牌\t颜色\t价格\n");printf("请输入品牌:");printf("请输入颜色:");printf("请输入价格:");
2023-06-11 19:16:45
51
原创 定义函数(堆区申请两个字符串空间,两个字符串进行比较,拷贝,连接)
printf("请输入你要在堆区创建的空间大小");//head h文件 放入头文件 函数声明 全局变量声明。printf("姓名\t性别\t分数\n");printf("姓名\t性别\t分数\n");printf("请输入字符串p:\n");printf("请输入字符串q:\n");//test.c文件 放自定义函数...
2023-06-08 19:42:37
204
原创 2023.6.6 终端计算器实现 数组指针返回二维数组最大值(函数指针实现函数调用)
/数组指针返回二维数组最大值 要求函数指针调用。printf("输入行数:\n");printf("输入列数:\n");
2023-06-06 19:24:33
129
原创 2023.6.5 作业
printf("请输入数组元素个数:");printf("简单选择排序后:\n");printf("冒泡排序后:\n");
2023-06-05 19:51:27
180
1
原创 2023.6.2 作业
printf("最大值:%d 次大值:%d 最小值:%d\n",max,second,min);printf("请输入二维数组arr[%d][%d]元素值:",i,j);void output(int arr[],int len) //输出函数。void Maopao(int arr[],int len)//冒泡排序。printf("字符串str2拷贝到str1 str1=");printf("请输入你想要的二维数组行数:");printf("请输入你想要的二维数组列数:");
2023-06-03 11:07:36
195
原创 【无标题】
printf("大写字母有%d个 小写字母有%d个 数字有%d个 特殊字符有%d个\n",a,b,c,d);printf("二维数组arr最大和=%d,最大差=%d\n",max+second,max-min);printf("最大值%d 次大值%d 最小值%d\n",max,second,min);printf("二维数组arr[%d][%d]=",i,j);printf("行数");printf("列数");//找最大值 最小值 次小值。2023.6.1 作业。
2023-06-01 20:02:14
306
原创 2023..5.29 作业
printf("起始值%d 到终止值%d 之间偶数和是%d\n",start,end,sum);printf("这是一年的第 %d 天\n",sum);printf("请输入起始值,终止值:");printf("请输入年月日:");
2023-05-29 18:54:21
341
1
原创 2023.5.24 作业
2.对c文件进行预处理,对头文件进行展开,抹除解释以及对宏的替换,生成文件.i。3.对文件.i进行编译,且对语法正确性进行检测,如若无误,则生成汇编文件.s。3.由正数原码,反码,补码不变得 该数原码也为 00000010。4.二进制数 00000010 转化为十进制 为 1*2^1=2。gcc -E 文件.c -o 文件.i。gcc -S 文件.i -o 文件.s。gcc -c 文件.s -o 文件.o。4.将汇编文件.s转化为二进制文件.o。gcc 文件.o -o 文件。答: 1.建立一个文件.c。
2023-05-24 18:19:53
364
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人