最近很迷茫,不停地做实验,机械的重复。感觉时光与岁月就在电火花与促动器声中蹉跎。但是无论怎样还是要坚持自己的选择,执行自己的计划!
一、gcc所支持的后缀名
-.c c的原始程序
-.C/.cc/.cxx c++的原始程序
- .s 汇编语言的原始程序
-.o 目标文件
1、gcc
gcc -E #预处理得到*.i文件
gcc -S #编译得到汇编文件*.s
gcc -c #汇编处理生成.o文件
2、gdb 调试器
gcc -g test.c -o test#生成.o文件
gdb test #对test进行调试
gdb l #查看文件内容
gdb r #运行代码
gdb p <变量名> #查看变量值
gdb n 或 gdb s #单步运行,n不进入调用函数内部,s进入函数
gdb c #回到主程序 继续运行,退出单步运行
gdb b <行数>#设置断点
info b#查看断点情况
3、条件编译
条件编译一共有两种方法:
根据宏是否定义:
#ifdef<macro>//定义了宏macro执行程序段1,否则执行else语句
程序段1
#else
程序段2
#endif
根据宏的值:
#if<macro>//如果宏的值为1,则执行以程序段1.否则执行else
程序段1
#else
程序段2
#endif