linux makefile文件,Linux中的Makefile详解

在Linux中Makefile扮演一个非常重要的角色,我们可以以Linux为平台在上面编写我们需要的C程序代码,对于C语言来说,Linux是一个非常好的平台来学习、使用、调试、验证C代码的平台,其强大的Vim编辑器,还有强大的gcc编译工具和gdb的调试工具,对于我们学习C语言都是一个非常重要的工具,我们可以非常清晰的看清C语言代码的执行过程,可以通过gdb调试工具观察代码的执行方法等等优点,我在这就不一一列举了。

596939575f761add24d07fe5e775291b.png

使用 sp max.c   建立一个新的文件:

d073cdc6a4106e4af3cddf3d708649b2.png

gcc编译工具:

I(i)  在光标前插入

A(a)   在光标后插入

O    原行上新建一行

dd  删除一行

x  删除代码中的一个

set nu  显示代码行号

set nonu  取消显示行号

sp max.c 在源文件中新建一个文件    eg:我在只有一个文件的函数如test.c中新建一个max.c文件,把

相关的代码放在其中直接在主函数中调用

ctrl + w + ↑    就是如同上面新建的文件中移动,从一个文件的代码移动到上面一个文件中

ctrl + w + ↓    就是如同上面新建的文件中移动,从一个文件的代码移动到下面一个文件中

数字  dd     就是从光标处剪贴几行

eg: 9 dd    就是从光标处剪贴9行

p      就是把复制的内容粘贴

yy   复制一行

u  撤销上一步操作

Ctrl+ r  恢复撤销

gg   光标快速回到首部

GG   光标快速回到尾部

objdump -h test.out    显示文件详细信息

objdump -s test.out    以十六进制显示文件

objdump -d test.out    以汇编形式显示文件

d35fa6100ab927f47f01f3d13a1295f3.png

:wqa   //保存全部并退出

(1)  gcc text.c -o text.out      //编译text.c 并生成text.out可执行文件

(2)    gcc text.c max.c -o text.out      //编译text.c与max.c 并生成text.out可执行文件

./text.out      //执行text.out文件

执行结果如图所示:

1e4624d769a5c02bb8aa7d65e1cd7235.png

gdb调试工具

start  开始调试

p       打印

eg: p a    打印变量a的值

eg: p *a    打印指针变量*a的值

n        下一行

bt       堆栈

l         (list)列出源代码

break      设置断点调试

eg: break  12   在十二行设置断点

s               (step)进入下一级函数中

f  1             切换到1堆栈中

x/6d +地址   从那个地址开始连续打印6个值

gcc -g text.c -o text.out    //编译text.c文件并生成可执行文件text.out  -g就是生成的可执行文件

支持gdb调试

Makefile函数

新建立一个Makefile文件, vim   Makefile   (文件名开头字母一定要大写)

test.out: t1.0  t2.o main.c

Tab gcc  t1.0  t2.o main.c -o  test.out

t1.o : t1.c

Tab  gcc -c t1.c

t2.o : t2.c

Tab  gcc -c t2.c

注:Tab代表用Tab填充空格

make执行以下就行了

45f48eb09c65eafffb23be9f8e687c5d.png

使用Makefile更方便多用户协调编写代码

gcc -c max.c  //编译生成.o文件  -c就是支持生成.o文件必须要加的gcc参数

gcc text.c -o text.i -E  //预处理命令生成.i文件

gcc text.c -o text.s -S  //编译生成.s汇编文件

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值