博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2023年3月14日

摘要: PCB进程控制块 本质:是一个结构体,位于内核区中 文件描述符表:结构体的一个成员 阅读全文

posted @ 2023-03-14 07:05 乔55 阅读(13) 评论(0) 推荐(0) 编辑

摘要: ## struct stat结构体成员 ```c struct stat{ dev_t st_dev; // 文件的设备编号 ino_t st_ino; // inode mode_t st_mode; // 文件的类型的存取的权限 nlink_t st_nlink; // 连接到该文件的硬链接数目 阅读全文

posted @ 2023-03-14 07:05 乔55 阅读(16) 评论(0) 推荐(0) 编辑

摘要: 下载安装包 ftp://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2 , http://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz ftp://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz http://ft 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(20) 评论(0) 推荐(0) 编辑

摘要: Linux编程遵循的标准 IEEE POSIX标准:在linux中用户编程接口(API)遵循了在UNIX中最流行的实用编程界面标准-POSIX标准 这些系统调用编程接口主要通过C库实现的,主要还是通过C语言实现的 接口系统调用接口是一样的,只是不同的产商这些接口的内部实现可能是不同的 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(16) 评论(0) 推荐(0) 编辑

摘要: 系统调用 也叫文件IO,由OS实现并提供给外部应用程序的编程接口(OS课程中叫程序接口):api 是应用程序同系统之间数据交换的桥梁 C库函数printf的过程详解 printf是无法直接操作硬件的,那它怎样把内容输出到显示器的呢?它做了一层层的向下的调用实现的 首先调用printf函数的这个进程会 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(61) 评论(0) 推荐(0) 编辑

摘要: 进程的虚拟内存图 windows的内存大致示意图 Linux的内存大致示意图 为什么使用虚拟地址空间 为什么要使用虚拟地址空间与物理地址空间映射,解决了什么问题 方便编译器和OS安排程序的地址分布 程序可以使用一系列连续的虚拟地址来访问物理内存中不相相邻的大内存缓冲区 方便进程之间的隔离 不同进程使 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(22) 评论(0) 推荐(0) 编辑

摘要: open函数 // opne函数详解 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 功能: 既能打开一个已存在的文件,也能创建并打开一个新的文件 返 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(69) 评论(0) 推荐(0) 编辑

摘要: dup int newfd = dup(int oldfd); // 复制文件描述符,返回最小且未被占用的文件描述符 // 即是,让newfd与oldfd均指向oldfd原指向的文件 // 失败返回-1,并设置errno值 dup2 int dup2(int oldfd, int newfd); / 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(25) 评论(0) 推荐(0) 编辑

摘要: read详解 int ret = ssize_t read(int fd, void *buf, size_t count); // ret == -1 :出错,并设置errno // ret == -1 && errno == EAGAINA: // 不是read失败,而是以非阻塞方式读设备或网络 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(87) 评论(0) 推荐(0) 编辑

摘要: 当前文件偏移量 所有打开的文件都有一个当前文件偏移量,current file offset,以下简称为cfo 当前文件偏移量,即是当前文件指针位置 cfo通常是一个非负整数,用于表明文件开始处到当前文件指针位置的字节数 读写操作通常开始于cfo,并且能使cfo增大,增量即为读定的字节数 文件打开时 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(57) 评论(0) 推荐(0) 编辑

摘要: FILE结构体基本概念 // FILE结构体成员 struct _iobuf { charchar *_ptr; //文件输入的下一个位置 int _cnt; //当前缓冲区的相对位置 charchar *_base; //基础位置(文件的起始位置) int _flag; //文件标志 int _f 阅读全文

posted @ 2023-03-14 07:03 乔55 阅读(203) 评论(0) 推荐(0) 编辑

摘要: 调用历史命令 - !! // 执行上条命令 - ^old^new // 把上条命令中的old替换成new后执行 - !xxx // 执行以xxx开头的最近一条命令 - !xxx:p // 显示以xxx开头的最近一条命令,不执行 - !*:p // 显示上条命令所有参数 - !$:p // 显示上条命 阅读全文

posted @ 2023-03-14 07:02 乔55 阅读(9) 评论(0) 推荐(0) 编辑

摘要: 安装较新版本的vim yum install ncurses-devel git-core mkdir ~/myApp cd ~/myApp git clone https://github.com/vim/vim cd vim ./configure --with-features=huge -- 阅读全文

posted @ 2023-03-14 07:02 乔55 阅读(9) 评论(0) 推荐(0) 编辑

摘要: 安装plug-vim // 安装plug.vim cd git clone https://github.com/junegunn/vim-plug mk ~/.vim/autoload -p cd ~/.vim/autoload cp ~/vim-plug/plug.vim ./ // 配置~/. 阅读全文

posted @ 2023-03-14 07:02 乔55 阅读(85) 评论(0) 推荐(0) 编辑

摘要: 安装更新的cmake cd ~/myApp wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz tar xvf cmake-3.6.2.tar.gz cd cmake-3.6.2/ ./bootstrap gmake gmake install 阅读全文

posted @ 2023-03-14 07:02 乔55 阅读(43) 评论(0) 推荐(0) 编辑

摘要: 安装较新版本python3 1. 安装依赖包 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline 阅读全文

posted @ 2023-03-14 07:02 乔55 阅读(95) 评论(0) 推荐(0) 编辑

摘要: X 阅读全文

posted @ 2023-03-14 07:01 乔55 阅读(8) 评论(0) 推荐(0) 编辑

摘要: X 阅读全文

posted @ 2023-03-14 07:01 乔55 阅读(11) 评论(0) 推荐(0) 编辑

摘要: 光标移动快捷键 // 移动光标 - ctrl+a:将光标从当前位置移动至行首 - ctrl+e:将光标从当前位置移动至行尾 - ctrl+b:光标向左移动1个字符 - ctrl+f:光标向右移动1个字符 // 删除字符 - ctrl+u:删除光标当前位置至行首内容 - ctrl+k:删除光标当前位置 阅读全文

posted @ 2023-03-14 07:01 乔55 阅读(23) 评论(0) 推荐(0) 编辑

摘要: vimrc注释 syntax on #进行语法检验,颜色显示 set nu #设置行号 set tabstop=4 #设置tab键宽度 set shiftwidth=4 #gg=G默认是个空格的缩进,设置为 set autoindent #自动缩进 set smartindent #智能缩进 set 阅读全文

posted @ 2023-03-14 07:01 乔55 阅读(20) 评论(0) 推荐(0) 编辑