linux vi gcc,vi的使用及gcc编译过程

1 文本编辑工具vi

vi是Linux/Unix底下最常用的文本编辑器。vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性。

1.1 vi的三种工作方式

d12fe5fcf1018f2162cf7b693e19eff6.png

1.2 编辑方式

光标定位

M 移动光标到页面中央

L移动光标到页面尾处

H移动光标到页面开始处

Ctrl+f向后翻页

Ctrl+b向前翻页

0移动光标到行首

$移动光标到行尾

复制 粘贴 删除

nyy 复制光标所在的向下n行内容

p在光标处粘贴复制的内容

ndd删除光标所在向下n行的内容

撤销和重复

u复原前一个动作

. 重复前一个动作

1.3 插入方式

i和I键插入:在目前光标处输入文字,已存在的文字会向后

A和a键:a为从目前光标所在的下个字符处开始插入,A为从光标所在行的最后一个字符开始插入

O和o:在目前光标所在下一行处插入新的一行.O为在目前光标所在处的上一行插入新行

R和r 取代:r会取代光标所在的那个字符:R会一直取代光标所在的文字,直到按下ESC为止

1.4 命令方式

df0338b75fa7bf1e8db7c9cabf996729.png

2 gcc

gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、C++、Java、Pascal、Ada、COBOL语言等。

2.1 gcc编译过程

64e04e690b50e496b9df62953229466b.png

2.2 gcc常用选项

-o 产生目标代码或可执行文件

-c 通知gcc取消链接步骤,即编译源码并在最后生成目标文件

-E 只运行C预编译器

-S 告诉编译器产生汇编语言文件后停止编译,产生的汇编语言文件扩展名为.s

-Idir 将dir目录加入搜索头文件的目录路径

-Ldir 将dir目录加入搜索库的目录路径

-llib 链接lib库

-g 在目标文件中嵌入调试信息,以便gdb之类的调试程序调试

-Wall 使gcc对源文件的代码有问题的地方发出警告

例如:

gcc -E hello.c -o hello.i(预处理cpp)

gcc -S hello.i -o hello.s(编译cc)

gcc -c hello.s -o hello.o(汇编as)

gcc hello.o -o hello(链接ld)

--》

gcc -c hello.c或gcc -c hello.c -o hello.o(编译生成目标文件)

--》

gcc hello.c -o hello(直接编译链接成可执行文件)

3 gdb

gdb是GNU debugger的缩写,是编程调试工具

3.1 gdb用法

list(l) 列出源代码

break(b) 设置断点

info break 查看断点信息 info functions

run(r) 运行

continue(c) 继续程序运行,直到下一个断点

step(s) 单步跟踪,类似于VC中的step into

next(n) 单步跟踪,类似于VC中的step over

finish 运行程序,直到当前函数返回

util(u) 退出循环

print(p) 查看运行时的变量以及表达式

watch 设置观察点

进入调试模式:gdb 执行文件 (在gcc的时候要记得 -g)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值