• gcc make 与cmake


    1. gcc

    (1)是什么?

    它是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器。它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。

    (2)怎么用?

    当你的程序只有一个源文件时,直接就可以用gcc命令编译它。

    (3)极限与困境。

    如果你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大。
    这时你需要召唤make了。

    2. make

    (1)是什么?

    make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用makefile文件中用户指定的命令来进行编译和链接的。

    makefile是什么?makefile是一个文件,记录了一堆调用gcc(也可以是别的编译器)去编译某个源文件的命令。

    (2)怎么用?

    简单的说,makefile就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱makefile指挥整个乐团怎么样演奏,make工具就根据makefile中的命令进行编译和链接的。

    当项目工程比较简单时,完全可以人工编写makefile。

    (3)极限与困境。

    但是当工程非常大的时候,手写makefile是非常麻烦的、甚至不可能的事情,如果换了个平台makefile又要重新修改。

    这时你需要召唤cmake了。

    3. cmake

    (1)是什么?

    cmake可以更加简单的生成makefile文件给上面那个make用。当然cmake还有其他功能,就是可以跨平台生成对应平台能用的makefile,你不用再自己去修改了。

    (2)怎么用?

    cmake根据什么生成makefile呢?它又要根据一个叫CMakeLists.txt文件(学名:组态档)去生成makefile。

    (3)CMakeLists.txt文件谁写啊?

    亲,是你自己手写的。

    当然如果你用IDE,类似VS这些一般它都能帮你弄好了,你只需要按一下那个三角形。

    4. 个人建议

    对于有野心的初学者,强烈建议不直接使用IDE。IDE屏蔽了太多细节,会阻止你成为一个视野开阔的开发者。

    5. 参考

  • 相关阅读:
    12_常用类
    MyBatis_02 框架
    MyBatis_01 框架
    正则表达式
    11_异常处理
    产品经理成长之路(非原创)
    【Java每日一题】20161115
    【Java每日一题】20161114
    【Java每日一题】20161111
    【Java每日一题】20161110
  • 原文地址:https://www.cnblogs.com/sword03/p/9319278.html
Copyright © 2020-2023  润新知