如何建设一个小说网站,传统企业网站建设,游戏网站建设免费,影视公司组织架构文章目录 前言一、Linux编辑器-vim使用1.vim的基本概念2. vim的基本操作3. vim命令集1. 正常模式1. 模式切换和光标移动2. 删除文字及复制3. 其他操作 2. 底行模式 二、Linux编译器-gcc/g使用1. 命令和选项2. 预处理3. 编译4. 汇编(生成机器可识别代码)5. 连接(生成可执行文件或… 文章目录 前言一、Linux编辑器-vim使用1.vim的基本概念2. vim的基本操作3. vim命令集1. 正常模式1. 模式切换和光标移动2. 删除文字及复制3. 其他操作 2. 底行模式 二、Linux编译器-gcc/g使用1. 命令和选项2. 预处理3. 编译4. 汇编(生成机器可识别代码)5. 连接(生成可执行文件或库文件) 三、Linux调试器-gdb使用四、Linux项目自动化构建工具-make/Makefile 前言
在Linux下我们有一些非常好用的工具他们可以显著的提升我们的效率这篇将介绍这些工具来帮助我们完成Linux编程操作。
一、Linux编辑器-vim使用
1.vim的基本概念
作为初期我们只需要学习vim三种模式就可以了 分别是 命令模式command mode、插入模式Insert mode和底行模式last line mode 命令模式(command mode) 控制屏幕光标的移动字符、字或行的删除移动复制某区段及进入Insert mode下或者到 last line mode 插入模式(Insert mode) 只有在Insert mode下才可以做文字输入[ESC]键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。 末行模式(last line mode) 文件保存或退出也可以进行文件替换找字符串列出行号等操作。 在命令模式下shift : 即可进入该模式。
2. vim的基本操作 命令模式切换至插入模式
输入a
输入i
输入o插入模式切换至命令模式
按ESC命令模式切换至底行模式
shift 退出vim及保存文件在底行模式退出
w 保存当前文件
wq 保存并退出vim)
w! 强制保存
q! 强制退出3. vim命令集
1. 正常模式
1. 模式切换和光标移动
i 切换进入插入模式按“i”进入插入模式后是从光标当前位置开始输入文件
a 进入插入模式后是从目前光标所在位置的下一个位置开始输入文字
o 进入插入模式后是插入新的一行从行首开始输入文字。
vim是用小写英文字母h、j、k、l分别控制光标左、下、上、右移一格当然也可以用上下左右
G 移动到文章的最后
$ 移动到光标所在行的“行尾”
^ 移动到光标所在行的“行首”
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
nl 光标移到该行的第n个位置如10l
gg 进入到文本开始
shift g 进入文本末端
ctrl b 屏幕往“后”移动一页
ctrl f 屏幕往“前”移动一页
ctrl u 屏幕往“后”移动半页
ctrl d 屏幕往“前”移动半页2. 删除文字及复制
x 每按一次删除光标所在位置的一个字符
nx 5x表示删除光标所在位置的“后面包含自己在内”5个字符
X 大写的X每按一次删除光标所在位置的“前面”一个字符
nX 5X表示删除光标所在位置的“前面”5个字符
dd 删除光标所在行,相当于剪切
ndd 从光标所在行开始删除n行
yy 复制光标所在行到缓冲区。
nyy 例如5yy表示拷贝从光标所在的该行“往下数”5行文字。
p 将缓冲区内的字符贴到光标所在位置。注意所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。3. 其他操作
r 替换光标所在处的字符
R 替换光标所到之处的字符直到按下「ESC」键为止。
u 如果您误执行一个命令可以马上按下「u」回到上一个操作。按多次“u”可以执行多次回复。
ctrl r : 撤销的恢复
cw更改光标所在处的字到字尾处
cnw 更改n个字
ctrl g 列出光标所在行的行号。
nG 表示移动光标至文章的第n行行首。2. 底行模式
set nu :会在文件中的每一行前面列出行号。
n 就会跳到文章的第n行。
/ 关键字 : 先按/键再输入寻找的字符如果第一次找的关键字不是您想要的可以一直按n会往后寻找到您要的关键字为止。
w :保存
q 退出
wq 保存退出。二、Linux编译器-gcc/g使用
1. 命令和选项 格式 gcc [选项] 要编译的文件 [选项] [目标文件] 常用选项
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件
-static 此选项对生成的文件采用静态链接
-g 生成调试信息。GNU 调试器可利用该信息。
-shared 此选项将尽量使用动态库所以生成文件比较小但是需要系统由动态库.
-O0
-O1
-O2
-O3 编译器的优化选项的4个级别-O0表示没有优化,-O1为缺省值-O3优化级别最高
-w 不生成任何警告信息。
-Wall 生成所有警告信息。2. 预处理 gcc –E 文件 –o 文件.i 预处理要生成 .i文件 预处理功能主要包括宏定义,文件包含,条件编译,去注释等
3. 编译 gcc –S 文件 –o 文件.s 编译要生成 .s文件 在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc 把代码翻译成汇编语言
4. 汇编(生成机器可识别代码) gcc –c文件 –o 文件.o 汇编要生成 .o文件 汇编阶段是把编译阶段生成的“.s”文件转成目标文件
5. 连接(生成可执行文件或库文件) gcc –c文件 –o 文件 不指定名字gcc会默认命名为a.out
三、Linux调试器-gdb使用 要使用gdb调试必须在源代码生成二进制程序的时候, 加上 -g 选项 常用选项
listl 行号显示binFile源代码接着上次的位置往下列每次列10行。
listl 函数名列出某个函数的源代码。
r或run运行程序。
n 或 next单条执行。
s或step进入函数调用
break(b) 行号在某一行设置断点
break 函数名在某个函数开头设置断点
info break 查看断点信息。
finish执行到当前函数返回然后挺下来等待命令
print(p)打印表达式的值通过表达式可以修改变量的值或者调用函数
p 变量打印变量值。
set var修改变量的值
continue(或c)从当前位置开始连续而非单步执行程序
run(或r)从开始连续而非单步执行程序
delete breakpoints删除所有断点
delete breakpoints n删除序号为n的断点
disable breakpoints禁用断点
enable breakpoints启用断点
info(或i) breakpoints参看当前设置了哪些断点
display 变量名跟踪查看一个变量每次停下来都显示它的值
undisplay取消对先前设置的那些变量的跟踪
until X行号跳至X行
breaktrace(或bt)查看各级函数调用及参数
infoi) locals查看当前栈帧局部变量的值
quit退出gdb四、Linux项目自动化构建工具-make/Makefile make是一条命令makefile是一个文件两个搭配使用完成项目自动化构建。 一般我们这种clean的目标文件我们将它设置为伪目标,用 .PHONY 修饰,伪目标的特性是总是被执行的。