liunx之编程基础

来源:互联网 发布:零式战斗机 知乎 编辑:程序博客网 时间:2024/06/03 12:27

gcc编译器基础

gcc hello.c -o hello

-o 文件名 可以改变生成可执行程序的程序名

gcc -c hello.c

-c  只编译 并且生成的文件与源文件名相同

gcc -g hello.c

-g 产生调试工具

gcc -O hello.c

-O 对程序进行优化

gcc -O2 hello.c

-O2 优化程度会更深

gcc -I/home/st hello.c -o hello

-I 添加一个可以搜索头文件的目录

gcc -L/home/lib hello.c -o hello

-L 添加一个可以搜索库文件的目录

gcc -static hello.c -o hello

-static 静态连接库库分为:动态库(.so 在程序执行时留下一个标记指明程序运行时必须载入这个)和静态库(.a 连接器找出所需要的库,然后将库复制到可执行文件下)

-Wall 生成所有的警告信息

-w 不生成警告信息

-D 宏定义,和define类似



gdb使用

gdb 程序名可以进入调试模式

b 打断点

run

  next 单步执行

连续运行

list  可以显示程序

break 行号 if 条件  当if条件为真时,此断点才生效

info  break查看所有断点

delete 断点编号 删除断点

run  开始运行程序

next  单步不进入子函数

step 单步进入子函数

continue 继续运行程序

print(p)变量名查看指定变量值

finish 运行程序,直到当前函数运行结束

watch 变量名 对指定变量进行监控

quit(q) 退出gdb



makefile管理工具


目标 依赖命令

变量 关联依赖,以后改变文件名时可以一次性全部改变

&^ 代表所有的依赖文件

&@ 代表目标

&< 代表第一个依赖文件

@ 回显编译命令



-

1 0
原创粉丝点击