gcc使用简单介绍

来源:互联网 发布:python remove delete 编辑:程序博客网 时间:2024/05/10 07:31

gcc语法:
gcc [options] [filename]

简单的选项说明:
/*-o 用来指定输出的可执行文件的文件名,如果不指定则默认为a.out*/
gcc hello.c -o hello

/* -c 只编译不连接成可执行文件 */
会生成 *.o 的形式的文件,即编译出来的,但没有连接

/* -g 产生调试所必须的符号信息 */

/* -O -O2 对程序进行优化 */

-I 指定搜索头文件的目录
gcc -I /home/lession/ -o hello hello.c

-Ldirname 将dirname所指目录加入到库文件的目录列表中
系统预设的库在 /usr/lib 中

-l 指定要链接的某一个库 如链接libm.a这个库
gcc -lm filename

动态链接和静态链接的区别:
静态链接成的文件中有库的拷贝,文件较大
动态链接不拷贝库,多个执行文件共享库,文件较小

gcc默认是采用动态链接方式
gcc -static -o hello hello.c 这样gcc就会进行静态链接

-Wall 生成所有警告信息
-w 不生成任何警告信息
-DMACRO 定义MACRO宏,等效于在程序中使用#define MACRO

===========================================================
   gcc 调试
===========================================================
GDB 调试器
gcc -d *要加上
gdb test //test为被调试文件的名字
break(b) 设置断点
next 下一步
continue 执行直到文件尾

gdb的命令:
list 列出正在调试的程序
break 文件名或行号
break 文件名:行号
break if i=10 23 //在23行打断点,只有当i==10时才停下来

info break 用来查看程序中所有的断点
然后用 delete 断点号  来删除断点

run(r) 运行程序
print p 查看变量值

next(n) 单步运行 不会进入函数内部
step(s) 单步运行 进入函数内部
watch 监控变量 ,当变量有变化时程序就停止
finish 运行程序直到程序结束


对上面进行总结:
打断点 break
运行 run
continue
finish
单步 next
进入函数内部的单步 step

原创粉丝点击