Linux下编程命令的使用

GCC编译器与Makefile详解
本文深入解析了GCC编译器的常用命令及其功能,包括预处理、编译、汇编和链接等阶段,并介绍了如何使用Makefile简化大型项目的编译流程。同时,还涵盖了gdb调试器的基本操作,帮助开发者高效地定位和解决代码问题。

gcc

语法 :  gcc  [命令]  源文件

常用命令如下:

1.-c        

         对文件进行编译和汇编,但不进行连接。即做成了obj文件

2.-o

         指定目标名称

         gcc -o hello hello.c

3.gcc -I 目录

         编译时,优先在指定目录下查找头文件

4.gcc -l 库 

         此处库为二进制函数的集合体

5.gcc -L 目录

          优先访问该目录,未找到目标则前往标准目录,仍未找到则报错

6.-g

           编译器在编译时产生调试信息

7.-O(O0/O1/O2/O3)

            优化程度不断提高的编译选择

make工具及Makefile

makefile是一系列规则文件,内容格式为:

目标文件:依赖文件

[TAB]   命令

如果gcc命令为:gcc -o hello.c

则对应makefile为:

hello:hello.c

         gcc -o hello hello.c

make hello

如果有100个.c文件,则为:

main.o:main.c

      gcc -c -o main.o main.c

f1.o:f1.c

      gcc -c -o f1.o f1.c   

f2.o:f2.c

      gcc -c -o f2.o f2.c   

... ...

hello:main.o f1.o f2.o ... f100.o

      gcc -o hello main.o f1.o ... f100.o
make hello

这样下来,未免有点繁琐,可以使用宏替换、隐式规则推导。

系统定义变量:

$@一个规则中目标名称

$<第一个依赖文件名

$+所有依赖文件
 

SRCS=main.c f1.c ...
OBJS=main.o f1.o...
hello:$(OBJS)
    gcc -o hello $(OBJS)
make hello

gdb

 

gdb

vc

指令功能

run运行
break+行号F9设置断点
continueF5 
nextF10执行一行源代码但不进入函数内部
stepF11执行一行源代码并进入函数内部
display/print+变量/表达式窗口 
quit 退出
list 展示10行代码,可重复指令

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方隐侠安全团队-千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值