- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 io多路复用理解
linux IO模型之 多路复用 进程中调用poll和select操来查询打开的I/O设备文件是否就绪(有资源) 设备驱动操作集合中的 unsigned int (*poll) (struct file *, poll_table *)被调用 应用程序调用 select -> 内核 -> driver -> poll select 函数的查询文件时候就绪, 调用...
2018-11-06 16:12:17
2527
1
原创 循环队列
队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。 队列具有先进先出原则,与栈的先进后出形成对比入队,出队操作原理 由于队列的队头和队尾的位置是变化的,因而要设两个指针和分别指示队头和队尾元素在队列中的位置,它们的初始值地队列初始化时均应置为0。入队时将新元素插入所指的位置,然后将加...
2018-10-30 20:19:50
236
原创 进程间的通信
1管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 2信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Pos...
2018-10-29 19:15:30
117
原创 linux守护进程小结
创建守护进程步骤: 创建子进程父进程退出, 让这个子进程变成孤儿进程, 防止产生僵尸进程 在子进程中创建新会话 setsid函数用于创建一个新的会话,并使得当前进程成为新会话组的组长 setsid函数能够使进程完全独立出来,从 而脱离所有其他进程的控制。 改变当前目录为根目录 防止当前目录被删除后, 不存在了, 引发程序的错误 chdir(); 通常的做法是让“/”或”/tmp”作为守...
2018-10-25 19:56:19
251
原创 linux创建静动态库
1.gcc编译选项 -E : 预处理 .c -> .i -S : 编译 .i /.c -> .s -c : 汇编 .s -> .o -g : 生成调试信息 -O : 优化级别 -O0 -O1 -O2 -O3 -Os -I : 包含一个头文件搜索路径 -I/home/linux/include -L : 包含一个库文件搜索路径 -L/home/linux/lib -l ...
2018-10-25 18:55:04
134
原创 linux进程基础
程序的组成 : 指令和数据 指令: 对应cpu的指令集 数据: c语言来说: 只读数据:1. const 修饰的变量 2. 字符串 可读可写数据: 初始化的数据 关于linux生成可执行文件的格式 elf 格式 a.out 是一个可执行文件的格式, 是工业的二进制标准 一个elf 程序分为几个段: .text : 用来存放指令的段 .data : 已经初始化全...
2018-10-24 19:17:46
209
原创 C语言的冒泡排序
冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒...
2018-10-24 16:12:05
256
安卓掌上游戏助手
2018-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人