分类: C/C++
2008-05-22 20:55:54
gcc调用预处理程序cpp,负责展开源文件中的宏,向其中插入#include所包含的内容,调用ccl和as将处理后的源代码编译成目标代码;最后,gcc调用链接程序ld,把生成的目标代码链接成一个可执行文件。gcc的编译过程分为四个阶段:
1. 预处理阶段
gcc -E hello.c -o hello.i
2.编译
gcc -c hello.i -o hello.o
3. 汇编
4.链接
gcc -o hello.o hello
头文件一般在/usr/include/而库文件一般在/usr/lib/目录gcc a.c -I /home/a/include -o a 大I代表的是头文件的目录gcc a.c -L /home/a/lib -ldav -o a 大L代表库文件搜索目录,-ldav代表搜索libdav的库文件。linux下的库文件分为两类:静态库文件: .a动态库文件: .sogcc优先使用动态为文件,也可以用-static来强制使用静态库文件
gcc -g t.c -o t g选项代表在编译出的源文件中加入调试信息gdb t 载入thelp 显示帮助break 设断点,断点支持b 15 b maininfo break显示断点信息,info reg显示寄存器信息 info stack显示栈信息或用bt代替step 单步执行,入callnext 过callc 继续r 重新载入程序p i 打印变量i的值finish 执行到函数返回q 退出file t 载入程序t修改变量值whatis i 显示i的类别p i 显示i的值set var i=4 设置i为4
set language 当前调试语言set language java 调试java程序时,需要设语言为java