首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入讲解GCCMake的区别(有涉及makefile文件哟!!!)

gcc是编译器 而make不是 make是依赖于Makefile来编译多个源文件的工具 在Makefile里同样是用gcc(或者别的编译器)来编译程序....gcc是编译一个文件,make是编译多个源文件的工程文件的工具。 make是一个命令工具,是一个解释makefile中指令的命令工具。...gcc是编译工具; make是定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译; 也就是说make是调用gcc的。 要是好好分析过一个makefile文件就不会这么问了。...4.make 可以说是一个批处理程序,它可以自动编译多个文件。当然写好的脚本是前提。MAKE是运用GCC去编译文件的。...个人总结: gcc就是一个纯编译器 而make更牛逼些 包括了gcc   只有把makefile解决 一切ok 以上部分来源于网络,如果你对gccmake理解要求不深的话上面的话基本可以打发你了

12.5K31

Linux从入门到入土③(GCC、静态与动态链接库、Git、Make、Makefile)

可以使用gcc -v查看自己的linux中是否安装了gcc如果我们要编译的是c语言文件我们使用gcc,而如果我们要编译的是c++文件,我们要使用g++GCC基本语法gcc [option | filename...这种情况下我们需要借助项目构造工具 make 帮助我们完成这个艰巨的任务。...拓:如果想要执行 makefile 中非第一条规则对应的命令,那么就不能直接 make, 需要将那条规则的目标也写到 make 的后边,比如只需要执行规则 3 中的命令,就需要: make b.o文件的时间戳...自动推导make 是一个功能强大的构建工具,虽然 make 需要根据 makefile 中指定的规则来完成源文件的编译。...这是因为 make 有自动推导的能力,不会完全依赖 makefile。比如:使用命令 make 编译扩展名为.c 的 C 语言文件的时候,源文件的编译规则不用明确给出。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【GUN和Linux到底是什么关系,gccmake,cmake,yum是什么】

    ---- 目录 一、一直以来的疑惑 二、 为什么有所谓‘make版本’不匹配问题 三、 首先知道gcc make cmake 的区别: yum是什么 Linux内核 和 GNU 系统简介 Linux内核...[====@localhost /]$ 三、 首先知道gcc make cmake 的区别: 1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器...2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。...3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大 4.所以出现了make工具 make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式...6.makefile命令中就包含了调用gcc(也可以是别的编译器)去编译某个源文件的命令。

    1.9K40

    .configure,make,make install的作用

    /configure,make,make install的作用 1、configure,configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性 这一步一般用来生成...2、make,这一步就是编译,大多数的源代码包都经过这一步进行编译 (当然有些perl或Python编写的软件需要调用perl或python来进行编译)。...3、make insatll这条命令来进行安装 make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。 其实..../configure、makemake  install这三个命令, 我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后, 后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误.../configure  &&  make  &&  make  install

    3.3K40

    Linux——.configure && make && make install命令解析

    /configure、makemake install ———————————————————————————————————————————————————— 第一步 ..../configure 该步骤主要用来检测系统的配置、环境以及相关依赖,如果缺少相关依赖,该脚本会中止执行,软件安装失败 如:它会检测是否安装了gcc (用于编译各种源代码的软件),如果未安装...,该脚本会中止执行 当该脚本执行完成之后,它会根据之前检查的结果,生产一个 Makefile 文件,该文件规定了用什么编译器、编译参数等信息 ,描述了文件编译的相互依赖关系 第二步 make...该步骤主要用来编译源代码,make指令会从 Makefile 文件中读取相关指令,然后进行编译,编译完成之后会生成可执行文件 第三步 make install 该步骤主要用来安装软件,make

    7.3K20

    Make

    make程序是解决这个问题的最好的尝试,make的优雅使它至今仍被广泛使用。make的指导设计目标是为了安装一些新软件: 将所有的依赖下载到一个目录。 cd进入目录。 运行make。...如果我们不使用Tab 来缩进命令,那么make将失败。...让我们保存并关闭makefile,然后我们可以在控制台中运行以下命令: ▶ ls makefile 然后使用下面的操作查看make使用方式: ▶ make draft_journal_entry.txt...让我们再次运行相同的make命令: ▶ make draft_journal_entry.txt make: `draft_journal_entry.txt' is up to date....如果自上次为目标运行make以来,依赖项已经更新,则目标不是“最新的”。这意味着下次为该目标运行make时将运行该目标的命令。通过这种方式,对依赖项的更改被合并到目标中。

    1.6K30

    Make参数

    -b -m 这两个参数的作用是忽略和其它版本make的兼容性。 -B –always-make 认为所有的目标都需要更新(重编译)。 -C –directory= 指定读取makefile的目录。...如:“make –C ~hchen/test –C prog”等价于“make –C ~hchen/test/prog”。 —debug[=] 输出make的调试信息。...如果你只是想输出信息而不想执行makefile,你可以使用“make -qp”命令。如果你想查看执行makefile前的预设变量和规则,你可以使用“make –p –f /dev/null”。...-r –no-builtin-rules 禁止make使用任何隐含规则。 -R –no-builtin-variabes 禁止make使用任何作用于变量上的隐含规则。...-v –version 输出make程序的版本、版权等关于make的信息。 -w –print-directory 输出运行makefile之前和之后的信息。

    1.6K11

    make与makefile

    首先:先向大家说明,make是一个命令行中的命令,而makefile则是一个文件名称,make这个命令是用来执行makefile这个文件的 makefile: 1.mekefile编译过程: Makefile...文件中的命令有一定规范,一旦该文件编写好以后在Linux命令行中执行一条make命令即可自动编译整个工程。...当你在命令行中运行make时,make命令会寻找并执行all目标规则,这将依次执行target1、target2和target3的编译规则。...因此,通过在Makefile中设置all作为默认目标规则,你可以简化构建过程,只需运行make命令即可执行整个编译过程,无需显式指定目标。...伪目标的存在告诉 Make 工具该目标不是用于生成文件,而是执行相应的操作。 组织和管理构建任务:伪目标可以用来组织和管理构建流程中的各个任务或操作。

    8110

    Make 命令教程

    (题图:摄于博兹贾阿达岛,土耳其,2013年7月) 一、Make的概念 Make这个词,英语的意思是"制作"。Make命令直接用了这个意思,就是要做出某个文件。...$ make -f rules.txt # 或者 $ make --file=rules.txt 上面代码指定make命令依据rules.txt文件中的规则,进行构建。...$ make file1 $ make file2 $ make file3 2.4 命令(commands) 命令(commands)表示如何更新目标文件,由一行或多行的Shell命令组成。...3.6 内置变量(Implicit Variables) Make命令提供一系列内置变量,比如,$(CC) 指向当前使用的编译器,$(MAKE) 指向当前使用的Make工具。...ifeq ($(CC),gcc) libs=$(libs_for_gcc) else libs=$(normal_libs) endif 上面代码判断当前编译器是否 gcc ,然后指定不同的库文件

    2K40
    领券