1.什么是yum工具
就是应用商店
一.vim——文件编译器
vim是什么?
答:文件编译器,用来进行代码编写
特征 是一款多模式的编译器,默认处在命令模式。
常用有12中模式,目前我们需要掌握三种模式。分别是
命令(普通)模式 :执行各种命令
插入(编辑)模式 :用来输入代码
底行模式:目前多用来实现保存(w)和退出(q)
1.首先了解模式间的切换,如何从普通模式进入插入模式?(三种方式)
①输入 i 进入插入模式(光标不变)
②输入 a 进入插入模式(同行下一个位置)
③输入 o 进入插入模式(换下一行)
而如何回去呢? 答:插入->命令 esc
怎么进入底行模式呢? 答:进入底行需要从插入模式进行 shift+; 也就是插入模式输入:,vim可以从底行退出wq
底行模式中,set nu显示行号。
命令模式一些常见命令
yy:复制当前行 nyy:复制n行
p:粘贴到下一行 np:粘贴n行
u:撤销上次动作
dd:剪切光标所在行 ndd 剪切n行
gg:将光标定位文件最开始
shift+g:将光标定位文件最结尾 n,shift+g,定位第n行
shift + 4($) :将光标定位当前行的最结尾
shift + 6(^) :将光标定位当前行的最开始
b,w,按照单词前移,后移 nb,nw
x,nx 删除文本内容
hjkl,左(h)下(j)上(k)右(l)
底行模式
/查找文本
ctrl + 快速两次w 切换窗口
vim test.c + 8 光标定位到出错附近
zz:保存退出
ctrl + r 反撤销
二.gcc
预处理,编译,汇编,链接
我们来了解上面四个步骤都干了什么
预处理
- 进行宏替换,文件包含,条件注释,去注释等
- 实际操作:gcc -E hello.c -o hello.i
- -E是让预处理结束后停止编译过程(end的意思)
- -O是指目标文件(object),i文件为已经预处理过的文件
编译
- 这个阶段,gcc首先会检查代码的正确性,无误后将代码翻译成汇编语言。
- 实际操作:gcc -S hello.i -o hello.s
- -S生成汇编代码,但只进行编译,不进行汇编。
汇编
- 这个阶段是将编译阶段生成的.s文件转成机器可以识别的代码。
- 实际操作:gcc -c hello.s -o hello.o
- 使用-c就可以看到汇编代码已转化为.o的二进制目标代码了
链接
- 生成可执行文件。
- 实际操作:gcc hello.o -o hello
1.Linux有两种库,一种是静态库(libxxx.a),一种是动态库(libxxx.so),gcc静态连接时,默认是动态链接,一般链接的时候,找的库是.so。静态链接找.a。如果出现链接错误,应该先确认是否存在对应的库。
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件
编译器如何找到各种库?
使用库,其实是在使用什么东西?
如何生成库?
linux环境可以跑大部分语言
3.Linux调试器——gdb使用
ctrl r 历史命令搜索
Linux默认生成的可执行程序是动态链接,以release版本发布
-g以debug方式发布
gdb file.c-d
部分常用指令
list l 显示源代码,每次10行
breakpoint b 断点
info b 断点信息
p 打印
四.make/makefile——Linux项目自动化构建工具
makefile中相当于写了依赖关系和方法,以便于操作时直接使用。
依赖关系:决定了能不能这样做,生活中隐形的。表明依赖对象
依赖方法:决定了如何做,我要干什么。