makefile dep,makefile中call

  makefile dep,makefile中call

  Makefile学习笔记-我的CPP之路-C博客

  Makefile学习笔记

  首先,列出一个非常简单的Makefile示例:

  -

  hd.cpp

  #包含“hd.h”

  使用命名空间std

  int main() {

  你好,迪迪尔!1 \ n ;

  }

  -

  高清h

  #包括iostream

  -

  Makefile //我们称之为Makefile1

  Hd: hd.cpp //注意我没写hd.h

  g -o hd hd.cpp

  -

  当然,让司令部编制没问题。但是,请注意,我没有像下面这样写第一行:

  高清:hd.cpp高清. h

  所以在Makefile1中,hd(可执行程序)不依赖于hd.h,只依赖于编译的hd.cpp因为在Makefile1的第二行调用g时,编译hd.cpp时会包含 hd.h 。

  乍一看,没有问题。其实问题很大。在Makefile1中,hd并不依赖于hd.h,这意味着如果我此时修改HD.h,重新制作,make程序仍然只检测hd.cpp的版本,没有发现变化,所以不会调用第二行的G命令。测试,它是。无论hd.h怎么修改,再次调用make都没有动作。

  不要认为包含头文件。cpp可以避免写依赖。Makefile中的h文件。结论,或者说启发,一个项目会有很多文件依赖,会有很多程序员参与编码。如果依赖文件被修改,我们当然希望重新编译它们。所以,不要偷懒,一定要在Makefile中写满依赖关系。

  比如这个例子,正确的写法是:

  -

  Makefile //我们称之为Makefile2

  高清:hd.cpp高清. h

  g -o hd hd.cpp

  -

  需要明确的是,在makefile2中,第一行显示的关系是希望每次Make运行时要检测的文件版本发生变化,第二行是要执行的命令。Makefile2有完整的依赖关系。每次修改hd.h都会重新执行make。

  当然,如果不使用make并直接在命令行上输入调用g,对。h当然会被重新编译。

  最后,在Makefile的编译中,每一个编译后的文件都必须写出它所有的依赖项,即使cpp包含头文件。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • swf upload,fileupload控件上传文件
  • swf upload,fileupload控件上传文件,文件上传插件SWFUpload的使用指南
  • fileupload控件上传图片,fileupload实现多文件上传
  • fileupload控件上传图片,fileupload实现多文件上传,使用fileupload组件实现文件上传功能
  • filereader blob,js下载文件到本地 blob
  • filereader blob,js下载文件到本地 blob,js利用FileReader读取本地文件或者blob方式
  • fileitem获取文件名,fileitem.write
  • fileitem获取文件名,fileitem.write,浅谈FileItem类的常用方法
  • dockerfile cmd enterpoint,docker run cmd entrypoint的区别
  • dockerfile cmd enterpoint,docker run cmd entrypoint的区别,Dockerfile中ENTRYPOINT 和 CMD的区别说明
  • asp fileupload,
  • asp fileupload,,aspupload 3.0 下载与使用集锦
  • apache任意文件上传,apache服务器上传文件,Apache commons fileupload文件上传实例讲解
  • ,,聊聊MultipartFile与File的一些事儿
  • ,,病毒Autorun.inf、pagefile.pif等的解决办法
  • 留言与评论(共有 条评论)
       
    验证码: