Linux下编程工具常见用法小结

Linux下面的编程相关的工具熟悉了一下,主要有VI,Emacs,GCC,GDB,Makefile,autotools。初涉Linux,上述工具其实任取一个都不是一时半会能整精熟的,但是往往每一种工具都有一些使用频率高达70%的命令。练习了一晚,对常见用法做个小结,巩固记忆。

一,VI:常用的源代码编辑命令。

vi hello.c 在当前目录下生成hello.c,并进入命令模式

在命令模式下,不能输入,可以完成删除,复制,粘贴等操作。

1)按i 或a或o进入插入模式,可以键入字符,一般用i; a与o稍有不同。

2)键dd删除光标所在行

3)数字(n)+dd删除光标开始向下n行

4)数字(n)+yy复制光标开始向下n行

5) p 粘贴到光标处

6)u 撤消上次操作

在插入模式下,按ESC进入底行模式,主要进行存盘和退出之类的操作

1) :wq 最常用,保存并退出

2):w [filename] 保存或另存

3):q! 强退出VI

二 gcc常见用法:

1)gcc -E hello.c -o hello.i   //预处理

2)gcc -S hello.i -o hello.s  //编译成汇编语言文件

3)gcc -c hello.s -o hello.o  //汇编成目标代码

4)gcc -c hello.c -o hello.o  //直接生成目标代码文件<最常用>

5)gcc  hello.c -o hello       //直接生成可执行文件

6)gcc hello1.o hello2.o -o hello  //链接生成可执行文件<最常用>

常见选项 :

1) -g  生成GDB调试信息,用GDB工具此项必有

2) -I dir 编译过程中包括指定目录下的头文件

3) -L dir 可能需要到dir处链接库文件

4) -llibrary 链接动态libaray库。通常不带库名的前三个字母(lib),如 -lhello表示链接libhello.so动态库

5)-static 链接静态库

6) -Wall 允许所有有用的警告

7) -O (-O2或-O3)进行代码优化(分三级) ,一般不用在调试阶段

三 Gdb调试常见用法

gdb hello 进入调试 。编译时一定带-g选项。

常用操作:

1) l (list) 查看源代码

2) b(breakpoint) n :在第n 行设置断点

3) r (run) 运行

4) n(next) 单步执行,不进入函数内部,相当于VC下F10

5) s(step) 单步执行,进入函数内部,相当于F11

6) c(contiue) 继续执行,从当前运行处到下一个断点或者程序结束。

7) p var :查看变量var的当前值

8)finish 运行到程序结束

跟断点相关的有用命令:

1)info b 查看所有设置的断点的相关信息

2) b function 在function函数所在行设置断点

3) b 行数或函数名 if 表达式     满足表达式时运行中断 <感觉比较重要>

4) delete [断点号] 删除

5)disable [断点号] 禁用

6)enable[断点号]激活

若不带断点号,则命令对所有断点号用效,断点号可用info b得到。

7)ignore [断点号] N  忽略断点N次,对循环一类的程序有用。

查看运行过程中变量的有用命令:

print 表达式或变量

display 表达式 ,听说能自动显示对应表达式内容 (还没试过)

修改变量命令:

set var=value 设置变量值。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwppdp.html