摘要:函数原型 形参: addr:指定映射区域的首地址。通常传入NULL,表示让系统自动分配 length: 共享内存映射区的大小(小于等于文件的实际大小) prot:共享内存映射区的读写属性, PROT_READ, PROT_WRITE PROT_READ | PROT_WRITE 读写权限 flags 阅读全文
posted @ 2020-03-20 08:47 FANDX 阅读 (13) 评论 (0) 编辑
摘要:open函数的使用 函数原型 用法 read函数 参数: fd:文件描述符 buf:存数据的缓冲区 count: 缓冲区大小 返回值 0:读到文件末尾 成功:读到文件 失败: 1,设置errno lseek函数原型 参数: fd:文件描述符 offset:偏移量 whence:起始偏移位置:SEEK 阅读全文
posted @ 2020-03-18 16:55 FANDX 阅读 (22) 评论 (0) 编辑
摘要:gdb基本指令 g:使用该参数可以编译成可以执行文件,得到调试表‘ gcc a.out list: list1 列出源码,根据源码指定,行号进行设置断点 b: b 20 在2 0行设置断点 run/r: 运行程序 n / next : 下一条指令(会越过函数) s / step : 下一条指令 (会 阅读全文
posted @ 2020-03-18 16:53 FANDX 阅读 (4) 评论 (0) 编辑
摘要:一般C语言写的程序可以让其他语言进行调用,比如python, java,等等 c语言有两种库类型,静态库和动态库(共享库) 静态库和动态库的区别 静态库 静态库需要和程序进行一起编译 静态库在原理上是性能比动态库要高的 一般应用在对空间要求较低,而对时间要求的核心程序中 动态库 动态库可以被程序直接 阅读全文
posted @ 2020-03-18 16:50 FANDX 阅读 (10) 评论 (0) 编辑
摘要:进程和程序的区别 程序,只占用磁盘的空间。 进程运行在操作系统之上,占用内存,cpu等系统资源。 并发 同一时间运行多个程序,多个进程同时在运行 单道程序设计 A堵塞,B只能进行等待,即使CPU处于空闲状态,而在人机交互的时候堵塞的时候是必然的结果 多道程序设计 时钟中断,到了指定的时间程序必须中断 阅读全文
posted @ 2020-03-18 16:49 FANDX 阅读 (15) 评论 (0) 编辑
摘要:gcc编译的4步骤 预处理 (hollo.c hello.i) 展开宏,头文件 替换编译条件 删除注释,空行,空白 编译 (hello.i hello.s) 检查语法规范 最消耗时间,系统资源最多 汇编 (hello.s hello.o) 将汇编指令翻译成机器指令 链接 (hello.o a.out 阅读全文
posted @ 2020-03-18 16:46 FANDX 阅读 (8) 评论 (0) 编辑
摘要:exec函数族 execl, 可以指定路径进行运行自己的程序 execlp, 可以通过自己的环境变量,运行系统程序 execvp, 可以通过传入数组的方式 execlp使用案例 execl的使用 exec函数族的一般规律 exec函数一旦调用成功,就执行新的程序,不返回。只有失败才返回,错误值为 1 阅读全文
posted @ 2020-03-18 16:44 FANDX 阅读 (12) 评论 (0) 编辑
摘要:dup和dup2是用来重定向的 例子 dup的使用,主要是保存的作用 dup2的使用,可以打开进行的fd fcntl实现dup2的功能 F_DUPFD() 例子 文件描述符 PCB进程控制模块 成员:文件描述符。 文件描述符:0,1,2,3,4,...... 1023 0 STDIN_FILENO 阅读全文
posted @ 2020-03-18 16:43 FANDX 阅读 (8) 评论 (0) 编辑
摘要:考虑一下步骤 1. 判断命令行参数,获取需要查询的目录 argv[1], 如果没有就算当目录 2. 判断用户指定的是否是目录。 stat S_ISDIR(); 3. 读取目录: opendir() readdir(), 如果读取到目录,那么就可以递归调用自己 拼接目录: sprintf(path, 阅读全文
posted @ 2020-03-18 16:40 FANDX 阅读 (8) 评论 (0) 编辑
摘要:使用库函数来进行文件读取 使用系统调用 为什么系统调用要比库函数效率要低 使用strace可以详细看到运行的调用结果,发现调用的次数要少的多 内核缓存有4096字节的大小 用户空间进入内核空间要耗时比较多,但是比内核到磁盘要快 fputc 中有一个字节的缓存区,达到4096之后在会进入到内核空间中 阅读全文
posted @ 2020-03-18 16:38 FANDX 阅读 (17) 评论 (0) 编辑