首页 > 代码库 > Linux中的Makefile

Linux中的Makefile

      在Linux中Makefile扮演一个非常重要的角色,我们可以以Linux为平台在上面编写我们需要的C程序代码,

对于C语言来说,Linux是一个非常好的平台来学习、使用、调试、验证C代码的平台,其强大的Vim编辑器,还

有强大的gcc编译工具和gdb的调试工具,对于我们学习C语言都是一个非常重要的工具,我们可以非常清晰的看

清C语言代码的执行过程,可以通过gdb调试工具观察代码的执行方法等等优点,我在这就不一一列举了。

 

技术分享

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

技术分享

 

 

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    以汇编形式显示文件

技术分享

执行结果如图所示:

 技术分享

 

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个值

 

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执行以下就行了

技术分享

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

Linux中的Makefile