设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Makefile隐含准则

发布时间:2022-07-11 12:28 所属栏目:51 来源:互联网
导读:这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。 实例: test:test.o gcc -o test test.o test.o:test.c 我们可以在 Makefile 中这样写
  这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。
 
  实例:
  test:test.o
      gcc -o test test.o
  test.o:test.c
  我们可以在 Makefile 中这样写来编译 test.c 源文件,相比较之前少写了重建 test.o 的命令。但是执行 make,发现依然重建了 test 和 test.o 文件,运行结果却没有改变。这其实就是隐含规则的作用。在某些时候其实不需要给出重建目标文件的命令,有的甚至可以不需要给出规则。实例:
  test:test.o
      gcc -o test test.o
  运行的结果是相同的。
  注意:隐含条件只能省略中间目标文件重建的命令和规则,但是最终目标的命令和规则不能省略。
 
  比如我们编译 .c 文件在我们的 Makefile 中就是隐含的规则,默认使用到的编译命令时cc,执行的命令时cc -c我们可以对用上面的任何一种方式将CC定义为ncc。这样我们就编译 .c 文件的时候就可以用ncc进行编译。
 
  隐含规则中使用的变量可以分成两类:
  1.代表一个程序的名字。例如:“CC”代表了编译器的这个可执行程序。
  2.代表执行这个程序使用的参数.例如:变量“CFLAGS”。多个参数之间使用空格隔开。
 
  下面我们来列举一下代表命令的变量,默认都是小写。
  AR:函数库打包程序,科创价静态库 .a 文档。
  AS:应用于汇编程序。
  CC:C 编译程序。
  CXX:C++编译程序。
  CO:从 RCS 中提取文件的程序。
  CPP:C程序的预处理器。
  FC:编译器和与处理函数 Fortran 源文件的编译器。
  GET:从CSSC 中提取文件程序。
  LEX:将Lex语言转变为 C 或 Ratfo 的程序。
  PC:Pascal 语言编译器。
  YACC:Yacc 文法分析器(针对于C语言)
  YACCR:Yacc 文法分析器。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读