我们首先要了解Linux下的操作是全键盘的,而不需要鼠标的控制,所以不同于Windows下vs编译器的操作,Linux下的操作都需要一些命令和工具来实现一些功能。
Linux下的常用工具:
-
vim:vim是Linux下最基本的编辑工具,首先要了解vim下有6种基本模式( 其中3种常用模式 ) 。
- 普通模式
- 插入模式:进入vim普通模式后按 i 进入插入模式,可以进行写入操作。
- 命令行模式:输入 :进入命令行操作(插入模式和命令行操作按下ESC后进入普通模式)
-
gcc:是Linux下的一款编译工具,将C语言程序变成机器可识别的程序
首先我们要清楚gcc将C语言变成机器可识别的程序经过了那些过程(预处理----编译----汇编---链接)。这是十分重要的。
1.预处理
预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理可以删除注释,包含其他文件以及执行宏替换。
2.编译
纠错,程序没有错误则将程序编译为汇编代码
3.汇编
将汇编代码编译成为机器可识别的二进制指令代码
4.链接
将编译器内已经实现的代码拿来,和我们的代码放在一起生成最终的一个可执行程序。
链接可分为两种:动态链接和静态链接。
动态链接:记录函数地址信息,并不把代码全部拿来,所以可执行程序小,但是运行时依赖库。
静态链接 :将库中的代码全拿过来,跟我们的程序一起写入最终的可执行程序,最终的程序较大,但运行时,不依 赖库。
gcc下默认是动态链接。
-
makefile:一个普通文件----记录的是一个系列的编译步骤,与make同用,当执行make时,这个程序会在当前目录下寻找 makefile文件,然后一步步的执行解释makefile中记录的编译规则,最终通过这些编译规则,完成整个编译。
makefile的编写规则:
|生成文件:依赖文件
|[\t] 为了完成生成文件的生成,要执行的命令
main:main.c
gcc main.c -o main
make永远只生成第一个对象,执行完生成所要执行的命令后就退出了,所以不会生成第二个。
如果makefile有多个要生成的对象,那么就需要在最上边定义个对象,将要生成的对象都作为这个对象的依赖对象。
-
gdb:是Linux下的程序调试工具。
那么如何gdb运行一个程序?
gdb ./main 程序后不需要参数信息,因为参数的获取在这里无效,这里仅仅加载可执行程序信息。
进入gdb调试之后的命令操作:
run/r: 运行程序,后跟程序的运行参数信息
start:开始逐步调试
watch:变量监控,每次变量改变时都会停下。
bt:查看函数调用栈信息,排查段错误时非常有用。
-
yum:软件包管理----管理Linux系统的软件安装或移除。