一,gcc、make、makefile、cmake、cmakelists区别

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.到最后CMak

android studio 和gcc,Android Studio NDK开发总结相关推荐

  1. NDK开发 从入门到放弃(七:Android Studio 2.2 CMAKE 高效NDK开发)

    原文地址:http://blog.csdn.net/cuiyufeng2/article/details/64125594 前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的.  1. 它没 ...

  2. OpenCV android sdk配置OpenCV android NDK开发实例

    OpenCV android sdk配置OpenCV android NDK开发实例 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/det ...

  3. Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发

    Android NDK开发之旅(2):一篇文章搞定android Studio中使用CMake进行NDK/JNI开发 (码字不易,转载请声明出处:http://blog.csdn.NET/andrex ...

  4. [Android] 环境配置之Android Studio开发NDK

    2019独角兽企业重金招聘Python工程师标准>>> ======================================================== 作者:qiu ...

  5. 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )

    文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...

  6. 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...

  7. 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )

    文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  8. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  9. 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )

    文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...

最新文章

  1. 学会python爬虫怎么赚钱-学会Python爬虫能赚大钱吗?Python爬虫赚钱渠道分享
  2. 外媒列举2011年十大IT预测:鲍尔默卸任微软CEO
  3. Linux下xz与tar的区别
  4. (转)如何检查系统是否支持Zend Optimizer
  5. 不支持所上传的文件格式。请确认选择的文件无误。_职场人必备!如何把PDF文件转换成word文档?...
  6. JavaScript学习(七十六)—this的指向问题
  7. Java 中的PO VO DTO BO
  8. linux服务器如何访问,如何连接一个Linux服务器
  9. 枚举也能直接转换为对应的数值输出
  10. 【推荐系统】16篇最新推荐系统论文送你
  11. python numpy array最大长度_python中找出numpy array数组的最值及其索引方法
  12. 【分块】bzoj2120 数颜色
  13. 最全的数据结构和算法,不信过来看看有没有漏掉的
  14. Reflex WMS中阶系列1 – Reflex WMS系统打印单据,是打印成PDF还是直接从打印机里打印出来?
  15. 实验八 FBG 基于原型的团队项目需求调研与分析
  16. 炼油厂将abc三种原油 matlab求解,某工厂制造三种产品A、B和C需要两种资源(劳动力和原材料),目标是要确定总利润最大的最优生产计划。列出的线性...
  17. 北京老家具修复服务器,涨知识:图解古旧家具修复的六个步骤
  18. 浅谈从项目型公司到产品型公司的转型
  19. 基于Event Sourcing和DSL的积分规则引擎设计实现案例
  20. 手机wap和html有什么区别,解析WEB和WAP之间有什么区别

热门文章

  1. 实现北大官网首页的动态图标
  2. linux 修改时间并永久生效
  3. 《当我谈跑步时,我谈些什么》痛楚难以避免,而磨难可以选择
  4. 洛谷P1272 重建道路
  5. mysql prepare 注入_实战1:如何用 PREPARE 防止 SQL 注入
  6. 江苏省无锡中学高考2021成绩查询,速看!无锡部分高中2020高考录取名单!
  7. Java 发送邮件教程
  8. hi mate, lets recall the bloody “JOIN“
  9. javascript学习笔记之三 崔西凡day04
  10. HMM、Viterbi与中文分词