博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工具】Cmake与gcc的关系
阅读量:4220 次
发布时间:2019-05-26

本文共 953 字,大约阅读时间需要 3 分钟。

1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。
 
2.当你的程序
只有一个源文件时,直接就
可以用gcc命令编译它。
 
3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大
 
4.所以出现了make工具,
make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过
调用makefile文件中用户指定的命令来进行编译和链接的。
 
5.makefile是什么?简单的说就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱指挥整个乐团怎么样演奏,make工具就根据makefile中的命令进行编译和链接的。
 
6.makefile命令中就包含了调用gcc(也可以是别的编译器)去编译某个源文件的命令。
 
7.makefile在一些简单的工程完全可以人工手下,但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改。
 
8.这时候就出现了Cmake这个工具,
cmake就可以更加简单的
生成makefile文件给上面那个make用。当然cmake还有其他功能,就是可以跨平台生成对应平台能用的makefile,你不用再自己去修改了。
 
9.可是cmake根据什么生成makefile呢?它又要根据一个叫
CMakeLists.txt文件(学名:组态档)去生成makefile。
 
10.到最后CMakeLists.txt文件谁写啊?亲,是你自己手写的。
 
11.当然如果你用IDE,类似VS这些一般它都能帮你弄好了,你只需要按一下那个三角形
 
CMake ---------> 
makefile (包含调用gcc的命令)------------> 
make工具 ---------------> 
编译链接源文件
 

CMake 根据CMakeLists.txt生成乐谱(makefiles) make工具根据乐谱对过个源文件进行 编译和链接即可。

https://www.cnblogs.com/StoneLuo/p/7517971.html

你可能感兴趣的文章
热烈祝贺刘鹏教授膺选第45届世界技能大赛云计算赛事中国赛区裁判长!
查看>>
云创大数据求贤若渴,市场精英请来揭榜
查看>>
图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P的区别
查看>>
QNX简介
查看>>
MQTT协议基本介绍
查看>>
进程和线程是操作系统基本概念,了解一下
查看>>
SSL与TLS的区别以及介绍
查看>>
HTTPS、TLS、SSL、HTTP区别和关系
查看>>
Kafka 入门三问
查看>>
c/c++ 内存泄漏检测,开源工具valgrind使用整理
查看>>
RTSP协议、RTMP协议、HTTP协议的区别
查看>>
h264 sps pps详解
查看>>
AAC的ADTS头信息介绍
查看>>
MediaMuxer和MediaExtractor类(音频和视频数据的混合和分离)
查看>>
Linux下zip加密压缩
查看>>
Java中的ReentrantLock和synchronized两种锁定机制的对比
查看>>
视频会议及流媒体十大开源项目
查看>>
adb 用法大全
查看>>
经常用到的Android UI、开源项目及库
查看>>
第一次有人把5G讲的这么简单明了!
查看>>