【VIM编辑器、gcc编译、gdb调试操作】


前言

目前看来,linux编程的快乐源自于vim编辑器、gcc编译器、gdb调试器,这些怎么用的呢,一起来看看。


一、VIM编辑器

模式转换
编辑模式 ->esc-> 一般模式 -> shift+‘;’ -> 命令行模式
编辑模式 <-i(当前位置)<- 一般模式 <-esc<- 命令行模式
---------------a(下一格进入)
---------------o(下一行进入)

命令行操作

set nu				显示行号
w					保存文件
q					退出vim
i					强制执行
%s/test/hello/g		全文test替换为hello
5,10 s/test/hello/g	5~10行的test替换为hello
行号					跳转行号行
vs					左右分屏
sp					上下分屏
ctrl+ww				屏幕切换
ctrl+w c			关闭当前分屏
/hello				搜索hello字符,n向下循环,N向上寻找

一般模式操作

h,j,k,l			光标移动
gg				光标至文件开头
G				光标至文件结尾
15 gg			光标跳到15行
15 G			光标跳到15行
15 'enter'		光标下移15行
v				自动选取
shift+v			行选取
ctrl+v			列选取
y				复制选取内容
yy				复制当前行
nyy				复制当前行与下n行
x				剪切选取内容
dd				剪切当前行
ndd				剪切当前行与下n行
p				粘贴
u				撤回操作
ctrl+r			重新操作
ZZ				保存退出
=				行对齐
gg=G			文本自动对齐

编辑模式操作

ctrl+n			自动补齐已输入内容

二、gcc编译器

1.gcc编译模式

预处理

gcc -E hello.c -o hello.i	

#include <xxx.h>
先找-i目录,再找系统目录
#include "xxx.h"
先找-i目录,再找当前目录,最后找系统目录,适用于自定义文件
gcc -E -o xxx.i xxx.c
优点:定义宏函数后,预处理将宏函数进行替换,在预处理可查看是否替换正确

编译成汇编语言

gcc -S hello.i -o hello.s

汇编二进制

gcc -c hello.s -o hello.o	

链接库函数

gcc hello.o -o hello		

链接数学函数库

gcc circle.c -o circle -lm	

在指定目录检索后加载自建函数

gcc -I /home/tarena/include main.c a.c b.c -o main	

生成包含调试信息的程序

gcc -g hello.c hello		

程序运行

./main				

2.gcc编译操作

编译好习惯
预处理-汇编-链接函数库
大体量程序编译——Makefile
当程序体量非常大,源文件.c - 异常的多
gcc a.c b.c c.c d.c e.c ……,编译过程异常繁琐,.c文件不在一个文件夹中,等等问题,令编译变得异常困难
使用makefile对编译代码进行优化
什么是makefile
存储编译规则的文本文件
给make 命令使用,根据makefile脚本定义的规则,完成从依赖文件到目标文件的转换
makefile基本语法
目标:依赖
<制表符>命令1
<制表符>命令2
目标文件:一般为可执行文件
vim hello.c

		#include <stdio.h>
		
		int main(void){
			printf("hello world\n");
			return 0;
		}

vim Makefile开头字母建议大写

	#Makefile的注释
	#vim Makefile
	#make
	#./hello
	#分布编译的方式
	#时间戳,目标文件最新时显示up to date
		
	#编译规则1
	hello:hello.o
			gcc hello.o -o hello
	#编译规则2
	hello.o:hello.c
				gcc -c hello.c -o hello.o

make 指令只会寻找makefile 编译即可

二、gdb调试器

gdb ./main						进入调试器
l					list		显示多行源代码
b					break		设置断点,b 15是15行设置断点,b main是将断点设置在main函数上
r					run			开始程序运行
s					step		单步进入
n					next		单步跳出
p					print		打印变量值
c					continue	继续程序运行,直到下一断点
q					quit		退出gdb调试器

总结

通过vim快速进行文件编辑,gcc配合makefile实现文件快速编译,gdb进行文件调试

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值