| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 第2章Linux常用命令(下) -> 正文阅读 |
|
[开发工具]第2章Linux常用命令(下) |
目录 2.2Linux常用开发工具2.2.1ⅵ编辑器vi编辑器是 Linux系统下最基本的编辑器,工作在字符模式下。由于不使用图形界面, 因此ⅵ的工作效率非常高,且它在系统和服务管理中的功能是带图形界面的编辑器无法比 拟的。ⅵ编辑器共有三种工作模式,分别是:命令模式( command mode)、插入模式( Insert mode)和底行模式( last line mode)。 案例2-38:将目录etc下的 passwd文件复制到itheima用户的家目录中,将副本命名 为 passwd,使用ⅵ编辑器打开家目录下的 passwd文件。 cp /etc/passwd passwd vi passwd 1.命令模式命令模式下,可通过键盘控制光标的移动,实现文本内容的复制、粘贴、删除等操作。 (1)光标移动 光标的移动可分为6个级别,分别为:字符级、行级、单词级、段落级、屏幕级和文档级。
(2)删除
(3)复制和粘贴
2.插入模式插入模式下,用户可对文件内容进行修改操作,此模式下的操作与Windows操作系统中记事本的操作类似。 3.底行模式底行模式下可以对文件进行保存,也可进行查找、设置、退出编辑器等操作。 (1):set nu。设置行号,仅对本次操作有效,当重新打开文本时,若需要行号,要重新设置。 (2):set nonu。取消行号,仅对本次操作有效。 (3):n。使光标移动到第n行。 (4):/xx。在文件中查找“xx”,若查找结果不为空,可以使用“n”查找下一个,使用“N”查找上一个。 (5)尾行模式下还可以进行内容替换,其操作符和功能如表所示。
(6)操作完毕后,如要保存文件或退出编辑器,可先使用“ESC”进入底行模式,再使用表中的按键完成所需操作。
4.模式转换vi编辑器的三种模式之间可进行转换: ? (1)命令模式切换至插入模式:
在命令行中对vi编辑器进行的设置,只对本次操作有效,若想长久保存vi设置,可通过对用户家目录中的.vimrc文件进行编辑实现。常用设置如表所示。
2.2.2GCC编译器GCC编译过程分为四个步骤,分别是预处理、编译、汇编和链接。 (1)预处理 删除代码中的“#define”,展开所有宏定义; 处理条件编译指令,如#if、#ifdef、#undef等; 将由“#include”包含的文件插入到预编译指令对应的位置,若文件中包含其它文件,同样进行替换; 删除代码中的注释; 添加行号和文件标识; 保留#pragma编译器指令。 (2)编译 在编译阶段,GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件。 汇编过程将编译后生成的汇编代码转换为机器可以执行的命令,即二进制指令,每一个汇编语句几乎都会对应一条机器指令。 链接过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。 文件编译 · 单文件编译 $ gcc hello.c · 多文件编译 $ gcc _main.c _add.c -o _main 2.2.3 GDB调试工具GDB可以逐条执行程序、操控程序的运行,并且随时可以查看程序中所有的内部状态,如各变量的值、传给函数的参数、当前执行的语句位置等,藉此判断代码中的逻辑错误。 (1)在代码中加入调试信息,并调试程序 $ gcc gdbtest.c –o app –g (gdb) gdb app (2)列出程序代码,并设置断点 list 行号 b 行号 b 22 if i = 5 #在22行设定带条件的断点 info b #查看断点 disable Num #取消断点 (3)查看变量值 p 变量名 (4)继续执行 s —— 单步执行 n —— 单步执行且跳过标准函数库 finish —— 跳出当前函数 (5)结束调试 continue —— 结束当前断点调试 quit —— 退出调试 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 9:11:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |