浅谈对工程管理器——make的理解

工程管理器——make
作者:黑色印记
  
很多朋友都说现在有IDE(集成开发环境)不需要学习工程管理器。但我却不这么认为, 我觉得要作为一个优秀的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在LINUX下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。

    首先我要从3各方面谈谈工程管理器,分别是:
(1)为什么引用make工程管理器。
(2)了解一个工程。
(3)了解makefile。(本文欢迎各位朋友指点,评论,你们是我最大的前进动力,感兴趣的朋友可以关注一下哦)
          

    (1)首先我们要知道为什么要使用make工程管理器?它是由何产生的?它有何有点?
    谈到编译,对于新手的我们首先想到的肯定先想到gcc编译器。它的功能足够应付一般的小文件。但当我们一个软件里面的源文件达到成千上万时,gcc就显得力不从心了,这是必然需要一个新的编译工具站出来,给予我们方便,它就是工程管理器——make。首先我们建立一个工程的概念,一个工程下面有许多的子目录,子目录里面可以有许多目录或者源文件,这样一直嵌套下去,那么一个工程就会有许多的源文件。然后用工程管理器——make进行编译,这样就方便很多。工程管理器还有另一个优点,它会检查每个源文件的修改时间,只有在上一次编译之后被修改的源文件,才会在接下来的编译过程被编译和链接,这就避免了多余的编译工作量。故调试效率高。

    (2)知道了工程管理器的作用以及重要性,我们就很有必要了解一个基本的工程应该包含哪些内容,他们的作用分别是什么?
      一个简单的工程下包含若干个子目录,include目录,Makefile文件,scripts目录。
      子目录也程为功能目录,该目录下有scr目录以及Makefile文件,scr目录下存放的是该功能的源文件。
      include目录下存放的是myhead.h文件,主要作用是用来进行声明变量,函数的。
      scripts 目录下有一个Makefile文件,该文件主要是进行变量的定义。
      工程下的Makefile文件以及各个子目录下的Makefile文件是不一样的,前者被称为主控文件,它的作用是进入各个子目录中进行make命令以及将.o文件进行链接生成可执行文件。后者的作用是将scr目录下的c文件变成.o文件。

    (3)由(2)可知,工程管理器主要通过Makefile文件中的编译规则以及命令进行工作的,因此我们有必要了解什么是Makefile?怎么用?注意什么?
    Makefile类似一个脚本文件,根据里面的一些规则,命令。进行批处理。主要由3个基本内容组成。1. 需要生成的目标文件  2.生成目标文件所需要的依赖文件  3.生成目标的编译规则命令
    target    file   : dependency  file
              command
      在工程目录下输入make命令,便会进行工程编译。
      需要注意的是,在Makefile文件中, "//"不再是注释符号,“#” 为注释符号。
     
      关于如何书写一个Makefile文件,我已经在其他的文章中介绍过,有兴趣的朋友可以去看看,欢迎点评。希望各位能够在我的文章中学到一丝的知识。那我便会很满足。 













你可能感兴趣的:(日常记录,linux)