Linux:工具的使用

1.软件包管理工具:

yum :类似于手机应用商店(管理当前系统中能够安装的工具以及可以卸载的工具,并且实现安装以及卸载操作)

lrzsz::实现主机与虚拟机之间的联系
1、查看所能安装的软件工具: yum list. 显示所有工具
yum search keyword 根据关键字查找指定工具
2、安装一个指定工具: yum install package name
安装git:. sudo yum install gcc gcc-c++ gdb git
3、卸载一个指定工具: yum remove package-names

vim操作模式分类:共12种,最常用三种:普通、插入、底行
1、普通模式:完成文本操作,以及光标移动、其他指令操作
2、插入模式:插入数据
3、底行模式:更多用于保存退出文件
模式切换: vim filename 打开文件之后默认处于普通模式(无法输入数据)
不同模式下的常见操作:
底行模式下的操作:
:w 保存
:q 退出.
:wq 保存并退出
:q! 不保存强制退出
通常打开了一个不具备写权限的文件,修改后会发现,保存不了,也退出不了,这种情况下只能强制退出
普通模式下的操作:
光标移动: hjkl 左下上右; ctrl+f/b 上下翻页; gg/G 文档首行、 尾行
内容操作: 复制: yy/nyy; 粘贴: p/np; 剪切删除: dd/ndd----删除行, x 删除光标所在字符,dw 删除单词
其他操作:撤销u; 反向撤销ctrl+r; 全文对齐gg=G
在这里插入图片描述

2. 编译器: gcc/g++

咱们编程时所用的C、C+ +语言都属于高级语言,不是cpu指令,这种语言无法直接被cpu识别
各种语言出现的目的,是为了简化编程,并且实现跨平台移植性(一段程序能够在不同的平台上编译后运行)
上层使用统一语言的语法规则,构建不同语言,然后不同语言拥有不同的编译器,将上层高级语言代码解释成为对应平台的cpu指令,能够被cpu识别执行编译过程:将高级语言代码解释成为机器指令经过了哪些阶段
预处理阶段:展开所有代码(引入头文件,宏替换,删除注释…
编译阶段:检查语义语法错误;如果没有错误则将C语言解释成为汇编语言
汇编阶段:将汇编代码解释成为二进制的cpu指令
链接阶段:将所有的指令代码打包到一起(不仅是打包我们自己的代码,还有链接库文件中的库函数指令代码), 进行组织成为可执行程序
gcc: C语言编译器、g++: C+ +语言编译器
-E只进行预处理;-S只进行编译处理; -C 只进行汇编处理
-o指定输出文件名称

库:通常被认为是函数库,说白了就是一个文件, 文件中包含大量的函数实现的二进制代码指令(比如我们所使用printf函数)
代码中用到了标准库中的printf函数,则生成可执行程序时就必须能够知道printf的具体指令,这就是链接库的必要性
库的链接方式:库被分为两种:动态库和静态库
动态链接:链接动态库生成可执行程序,并没有把库中函数的实现指令直接拿过来写入可执行程序中,而是在可执行程序中记录了库中函数的符号信息表,
在运行可执行的时候需要去加载动态库到内存中,如果动态库不存在,则程序无法运行
静态链接:链接静态库生成可执行程序,直接将库中我们用到的函数的实现代码指令,写入到了可执行程序文件中,程序运行的时候没有什么依赖
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值