![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统编程
文章平均质量分 74
听枫要靠谱
这个作者很懒,什么都没留下…
展开
-
linux下的link函数和unlink函数
inode 其本质为结构体,存储文件的属性信息。如:权限、类型、大小、时间、用户、盘块位置……也叫作文件属性管理结构,大多数的 inode 都存储在磁盘上。 少量常用、近期使用的 inode 会被缓存到内存中。 dentry 目录项,其本质依然是结构体,重要成员变量有两个 {文件名,inode,...},而文件内容(data)保存在磁盘盘块中。思考,为什么目录项要游离于 inode 之外,画蛇添足般的将文件名单独存储呢??这样 的...原创 2021-10-19 15:29:57 · 1045 阅读 · 0 评论 -
linux下的stat/lstat函数
Linux 下可以使用 stat 命令查看文件的属性,其实这个命令内部就是通过调用 stat()函数来获取文件属性的,stat 函数是 Linux 中的系统调用,用于获取文件相关的信息,函数原型如下所示(可通过"man 2 stat"命令查看): #include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat/lstat(const char *pathname, struct s原创 2021-10-19 09:52:52 · 697 阅读 · 0 评论 -
linux下的lseek函数
对于每个打开的文件,系统都会记录它的读写位置偏移量,我们也把这个读写位置偏移量称为读写偏移量,Linux 中可使用系统函数 lseek 来修改文件偏移量(读写位置)#include <sys/types.h>#include <unistd.h>off_t lseek(int fd, off_t offset, int whence);fd:文件描述符。 offset:偏移量,以字节为单位。 whence:用于定...原创 2021-10-16 10:09:28 · 7556 阅读 · 0 评论 -
linux系统下fcntl函数解析
fcntl()函数可以对一个已经打开的文件描述符执行一系列控制操作,譬如复制一个文件描述符(与 dup、dup2 作用相同)、获取/设置文件描述符标志、获取/设置文件状态标志等,类似于一个多功能文件描述符管理工具箱。fcntl()函数原型如下所示(可通过"man 2 fcntl"命令查看): #include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, ... /* arg */ )...原创 2021-10-08 10:39:10 · 1159 阅读 · 0 评论 -
linux下的阻塞和非阻塞
#include <unistd.h>#include <fcntl.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ char buf[10]; int fd, n; fd = open("/dev/tty", O_RDONLY|O_NONBLOCK); if (fd &l.原创 2021-10-08 10:15:17 · 2240 阅读 · 0 评论 -
静态库与动态库
gcc编译: 4步骤: 预处理、编译、汇编、连接。 -I: 指定头文件所在目录位置。 -c: 只做预处理、编译、汇编。得到 二进制 文件!!! -g: 编译时添加调试语句。 主要支持 gdb 调试。 -Wall: 显示所有警告信息。 -D: 向程序中“动态”注册宏定义。 #define NAME VALUE静态库制作及使用步骤: 1. 将 .c 生成 .o 文件 gcc -c add....原创 2021-09-24 15:30:42 · 67 阅读 · 0 评论