随笔分类 -  linux编程

摘要:`ssize_t read(int fildes, void buf, size_t nbyte);` 返回值: 0: 实际读到的字节数 = 0: 读完数据(读文件, 管道, socket末尾 对端关闭, 对端未关闭会一直等待) 1: 异常: errno == EINTR被信号中断, 重启或者退出 阅读全文
posted @ 2019-04-19 21:51 张飘扬 阅读(4082) 评论(0) 推荐(0)
摘要:dup与dup2 改变已经打开的文件的属性 变参数函数 复制一个已经有的文件描述符 int ret = fcntl(fd, F_DUPFD); 获取/设置文件状态标志 open的flags参数 (1)获取文件状态标识 int flag = fcntl(fd, F_GETFL); (2)设置文件状态标 阅读全文
posted @ 2019-04-19 21:50 张飘扬 阅读(177) 评论(0) 推荐(0)
摘要:[toc] stat/lstat stat穿透 lstat不穿透 两者主要的区别在于连接文件 st_mode: 文件的类型和存取权限 获取文件大小测试 权限测试 access 测试当前用户指定文件是否具有某种属性 当前用户, 使用哪个用户调用这个函数, 这个用户就是当前用户 参数: pathname 阅读全文
posted @ 2019-04-19 21:48 张飘扬 阅读(303) 评论(0) 推荐(0)
摘要:[toc] chdir path: 切换的路径 getcwd 参数: buf: 缓冲区, 存储当前的工作目录 size: 缓存区大小 返回值: 成功: 当前的工作目录 失败: NULL C include include include include include include int mai 阅读全文
posted @ 2019-04-19 21:48 张飘扬 阅读(381) 评论(0) 推荐(0)
摘要:[toc] C库函数与系统函数 虚拟地址空间 Linux每一个运行的程序(进程), 操作系统都会为其飞培一个0~4G(32位操作系统)的地址空间(虚拟地址空间) open/close flags 必选: O_RDONLY, O_WRONLY, or O_RDWR 可选: O_CREAT: 创建文件时 阅读全文
posted @ 2019-04-10 23:44 张飘扬 阅读(177) 评论(0) 推荐(0)
摘要:make make : linux自带构建器, 构建规则在makefile中 makefile文件的命名: makefile, Makefile makefile中的规则可分为三部分: 目标, 依赖, 命令 格式: 工作原理: 检测依赖是否存在, 向下搜索规则, 如果有规则是用来生成查找依赖的, 执 阅读全文
posted @ 2019-04-10 23:35 张飘扬 阅读(217) 评论(0) 推荐(0)
摘要:gdb 传参数: 设置list显示的行数 查看可以显示多少行, 默认10行 显示哪个文件的多少行 显示某个文件的函数 删除num1至num2的断点 删除多个断点 使断点无效 使断点生效 在条件下在num处设置断点 显示断点 显示变量的类型 查看执行时会显示的变量 在循环时显示变量 取消循环时显示变量 阅读全文
posted @ 2019-04-10 22:44 张飘扬 阅读(168) 评论(0) 推荐(0)
摘要:静态库和动态库的制作和使用 库: 二进制文件, 由源码编译而来 库制作出来后如何给用户使用: (1) 头文件; (2) 制作出的库 静态库优点: 静态库被打包到应用程序中, 加载速度快 发布程序无须提供静态库, 移植方便 静态库缺点: 浪费系统资源, 浪费内存 , 不推荐使用的原因 更新, 部署, 阅读全文
posted @ 2019-04-08 19:58 张飘扬 阅读(304) 评论(0) 推荐(0)
摘要:gcc相关 预处理 , 调用处理器cpp 宏替换, 头文件展开, 去注释 xxx.c xxx.i 编译 , 调用编译器gcc, 编译的过程最消耗时间, xxx.i xxx.s 生成汇编文件 汇编 , 调用连接器ld xxx.s xxx.o 生成二进制文件 连接, 没有参数, 默认输出a.out 可执 阅读全文
posted @ 2019-04-08 19:57 张飘扬 阅读(148) 评论(0) 推荐(0)