android studio 和gcc,Android Studio NDK开发总结
一,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开发总结相关推荐
- NDK开发 从入门到放弃(七:Android Studio 2.2 CMAKE 高效NDK开发)
原文地址:http://blog.csdn.net/cuiyufeng2/article/details/64125594 前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的. 1. 它没 ...
- OpenCV android sdk配置OpenCV android NDK开发实例
OpenCV android sdk配置OpenCV android NDK开发实例 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/det ...
- Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发
Android NDK开发之旅(2):一篇文章搞定android Studio中使用CMake进行NDK/JNI开发 (码字不易,转载请声明出处:http://blog.csdn.NET/andrex ...
- [Android] 环境配置之Android Studio开发NDK
2019独角兽企业重金招聘Python工程师标准>>> ======================================================== 作者:qiu ...
- 【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )
文章目录 I . CMake 引入动态库与静态库区别 II . Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 ...
- 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )
文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...
- 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )
文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...
- 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )
文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
最新文章
- 学会python爬虫怎么赚钱-学会Python爬虫能赚大钱吗?Python爬虫赚钱渠道分享
- 外媒列举2011年十大IT预测:鲍尔默卸任微软CEO
- Linux下xz与tar的区别
- (转)如何检查系统是否支持Zend Optimizer
- 不支持所上传的文件格式。请确认选择的文件无误。_职场人必备!如何把PDF文件转换成word文档?...
- JavaScript学习(七十六)—this的指向问题
- Java 中的PO VO DTO BO
- linux服务器如何访问,如何连接一个Linux服务器
- 枚举也能直接转换为对应的数值输出
- 【推荐系统】16篇最新推荐系统论文送你
- python numpy array最大长度_python中找出numpy array数组的最值及其索引方法
- 【分块】bzoj2120 数颜色
- 最全的数据结构和算法,不信过来看看有没有漏掉的
- Reflex WMS中阶系列1 – Reflex WMS系统打印单据,是打印成PDF还是直接从打印机里打印出来?
- 实验八 FBG 基于原型的团队项目需求调研与分析
- 炼油厂将abc三种原油 matlab求解,某工厂制造三种产品A、B和C需要两种资源(劳动力和原材料),目标是要确定总利润最大的最优生产计划。列出的线性...
- 北京老家具修复服务器,涨知识:图解古旧家具修复的六个步骤
- 浅谈从项目型公司到产品型公司的转型
- 基于Event Sourcing和DSL的积分规则引擎设计实现案例
- 手机wap和html有什么区别,解析WEB和WAP之间有什么区别
热门文章
- 实现北大官网首页的动态图标
- linux 修改时间并永久生效
- 《当我谈跑步时,我谈些什么》痛楚难以避免,而磨难可以选择
- 洛谷P1272 重建道路
- mysql prepare 注入_实战1:如何用 PREPARE 防止 SQL 注入
- 江苏省无锡中学高考2021成绩查询,速看!无锡部分高中2020高考录取名单!
- Java 发送邮件教程
- hi mate, lets recall the bloody “JOIN“
- javascript学习笔记之三 崔西凡day04
- HMM、Viterbi与中文分词