GCC / GDB

GCC参数:
-c
只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
例子用法:gcc -c hello.c

-Idir
对于#include,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找

-Ldir
制定编译的时候,搜索库的路径。比如你自己的库

-llibrary
制定编译的时候使用的库
例子用法:gcc -lcurses hello.c

-g
在编译的时候,产生调试信息

-ggdb
此选项将尽可能的生成gdb的可以使用的调试信息

-static 此选项将禁止使用动态库。
优点:程序运行不依赖于其他库
缺点:文件比较大

-shared (-G) 此选项将尽量使用动态库,为默认选项
优点:生成文件比较小
缺点:运行时需要系统提供动态库

-Wall
一般使用该选项,允许发出GCC能够提供的所有有用的警告。也可以用-W{warning}来标记指定的警告。

-w
关闭所有警告,建议不要使用此项

-o
制定目标名称,缺省的时候,gcc 编译出来的文件是a.out
例子用法
gcc -o hello.exe hello.c
-O0
-O1
-O2
-O3
编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高


GDB命令:
list line1,line2:显示源代码段。
backtrace:显示程序中的当前位置和表示如何到达当前位置的栈跟踪
print p:显示某个变量的值
whatis p:显示某个变量的类型
break line1:设置断点
break filename:line1:设置断点
countinue:从断点继续运行
delete breakpoint 1:删除断点1
delete breakpoint:删除所有断点
next:不进入的单步执行
step:进入的单步执行
clear:删除刚才停止处的断点

posted @ 2013-09-01 21:40  Leung文  阅读(264)  评论(0编辑  收藏  举报