系统软件属于系统的底层,与内核和系统核心库直接进行交互,系统编程则是进行系统软件的关键,熟悉系统编程可以重现如shell、vim、gcc等系统软件。而作为一个高级C++/C编程人员,往往需要在底层进行多次调用,学习Linux系统编程时必要的。以下为本人在学习某机构视频时候做的笔记,参考了一些其他资料,有错误请指出,会及时修改。
1、基础概念
1、文件与文件系统
Linux一切皆文件,
2、程序与进程
进程process是执行中的目标码object code:正在运行的程序;
每个进程由一个或多个执行的线程threads of execution构成;
分为单线程single-threaded与多线程mutilthreaded,
程序:二进制文件,占用磁盘的空间
进程:启动的程序
所有的数据都在内存中
需要占用更多的系统资源:CPU、物理内存
并行与并发:
并发:一个CPU下多个程序同时运行
并行:多个CPU支持多个程序耕作
进程控制块PCB
进程的5种的状态
主要的基础概念在各书籍上都有,就没有过多记录。
3、自动补全工具安装
安装git工具
sudo apt install git
安装拓展包Vundle,在终端使用如下命令下载
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
3fNQC1-1627218729303)(D:\学习资料\C and C++\每日记录\Linux系统编程.assets!在这里插入图片描述
安装成功后,会自动生成**~/.vim/bundle/Vundle.vim** 文件
在当前用户根目录下打开或新建 .vimrc 配置文件(已存在则打开,未存在则新建),在 .vimrc 文件中输入如下内容:
上面的配置是 vundle 的模板,我们自己要添加的插件写在 call vundle#begin() 和 call vundle#end() 之间;
比如添加自动补全插件 YouCompleteMe:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wHFToQ4z-1627218729316)(D:\学习资料\C and C++\每日记录\Linux系统编程.assets!在这里插入图片描述
)]
安装插件:在 vim 的命令界面,输入 :PluginInstal;
然后就进入了安装界面,如下所示:这个安装比较慢
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8srxqh3U-1627218729318)(D:\学习资料\C and C++\每日记录\Linux系统编程.assets\image-20210723105422746.png)]
中间等待半个小时可以退出一次,多重复上面的安装操作,最后会显示出下面的done,表示安装完成。
此时依旧无法使用
打开~/.vim/bundle/文件夹
然后将YouCompleteMe插件先直接下载在~/.vim/bundle/下,在线安装会比较慢,且容易失败。可以用一下命令直接配置:
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive