Linux开发工具一
Posted 语风之
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux开发工具一相关的知识,希望对你有一定的参考价值。
文章目录
Linux编辑器——vim
1. vim的3种模式
- 普通模式(或命令模式)
该模式下,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段。在其他模式下,按 ESC键 可以返回普通模式。- 插入模式
只有在该模式下,才可以做文字输入。在普通模式下,按a A i o O任一字母进入插入模式。- 末行模式
该模式下,文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在普通模式下按 shift+; 进入末行模式。
2. vim的基本操作
- 进入vim编辑界面
在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面。
- 插入模式
- 按 i 进入插入模式,是从光标当前位置开始输入文件。
- 按 a 进入插入模式,是从光标所在位置的下一个位置开始输入文字。
- 按 o 进入插入模式,是插入新的一行,从行首开始输入文字。
- 退出vim
在[正常模式]下,按一下「:」即冒号键进入「末行模式」。
- 输入w (保存当前文件)
- 输入wq (输入 wq 存盘并退出vim)
- 输入q! (输入 q! 不存盘,强制退出vim)
- 撤销上一次操作(普通模式下)
- u 若失误执行1个命令,按下 u ,撤销上一次操作。
- ctrl+r 取消上一次撤销。
- 注释与去注释
注释:
- ctrl+v
- 按h j k l 移动光标,选中需要注释的行。
- shift+i 进入插入模式
- 输入注释符号 //
- 按下 ESC键(可以看见成功注释)
去注释:
- ctrl+v
- 按h j k l 移动光标,选中需要去除注释的符号 // 。
- 按 x 删除。
- 删除
1.「#x」:例如,「6x」表示删除光标所在位置的后面(包含自己在内)6个字符。
- 「dd」:删除光标所在行。
- 「#dd」:从光标所在行开始删除#行。
Linux编译器——gcc
1. 背景(gcc 4个主要步骤)
- 预处理 (进行宏替换、头文件展开、删除注释、删除不符合的条件编译)
- 编译 (将源文件生成为汇编代码)
- 汇编 (生成机器可识别代码)
- 链接 (生成可执行的文件)
2. gcc如何完成
-gcc [选项] 要编译的文件 [选项] [目标文件]
- 选项
- -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面。
tip:
目标文件后缀为 .i ,表示为已经过预处理的c原始程序。
- -S 编译到汇编语言不进行汇编和链接
tip:
该阶段,gcc会先检查代码的规范性、是否有语法错误等,在检查无误后,gcc会将代码翻译为汇编语言。- -c 编译到目标代码
tip:
汇编阶段将汇编代码转化成".o"的二进制目标文件。
- -o 文件输出到 文件
Linux项目自动化构建工具——make/makefile
1. 简介
make是一条指令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
(即,make根据makefie的文件内容——定义编译程序的规则,进行解析,编译程序,从而生成可执行文件。)
2. makefile的文件格式
3. make的工作方式
- make会在当前目录下找名字叫“Makefile”或“makefile”的文件。找不到,则报错。
- 如果找到,它会只为第一个目标对象服务,则后续文件中的内容不解析。
- 如果为了生成第一目标对象,需要先生成依赖对象,则在makefile文件当中查找生成依赖对象的方法。
- 若发现依赖的对象不存在,则报错返回。
- 若依赖对象的最后一次修改时间小于目标对象的最后一次修改时间,则不生成。
(即,依赖对象中的内容未被更改,无需重新生成目标对象)
4. makefile文件当中的自定义变量和内置变量- 内置变量:
$^:所有依赖的对象
$@:目标对象
$<:代表第一个依赖对象
- 自定义变量
可以给自己的变量起名字,后续使用$符号解析。
小结
linux的开发工具应用起来其实很简单,但是需要多使用,才能熟练掌握。本篇不完整,还差2个工具(gdb和gcc),下篇再见分晓。
以上是关于Linux开发工具一的主要内容,如果未能解决你的问题,请参考以下文章