armcc、armclang、arm-none-eabi-gcc这3个嵌入式交叉编译工具链有什么区别?

📗嵌入式开发领域

① armcc是ARM公司开发的一套基于MDK的5代嵌入式工具链,嵌入在Keil IDE中使用(IDE顾名思义就是集成开发环境,代码编辑、代码编译、代码仿真、代码调试等过程都集成在IDE上,让用户只需关注代码逻辑和实现),也可在ARM官网独立下载。⭐商业行为-闭源⭐
② armclang同样是ARM公司开发的一套基于MDK的6代嵌入式工具链,同样嵌入在Keil IDE中使用,是基于苹果公司LLVM框架的嵌入式工具链,也可在ARM官网独立下载。⭐商业行为-闭源⭐
③ 🔗arm-none-eabi-gcc是ARM GNU Toolchain嵌入式工具链,基于GCC(伟大开源先驱—GNU的组件之一)的衍生物。在嵌入式开发方面,其配套环境如下:VSCode/Eclipse/Clion等 + arm-none-eabi-gcc工具链 + Make&Makefile / CMake&CMakeList.txt + OpenOCD调试工具。⭐开源(致敬开源精神),可跨Win/Mac/Linux平台⭐。
不可否认的是,arm-none-eabi-gcc编译器相比于keil的AC5、AC6编译器,前者编译出的hex文件体积占用flash稍微大一点。不过既然它自由开源,我们就去拥抱它吧。

细心的你应该发现了,打开keil uvision IDE的“俄罗斯方块”—>Folders/Extensions,其实可以选择性地使用以上的工具链,如下图所示

在这里插入图片描述
然后点击上方的Folders/Extensions

在这里插入图片描述
--------------------------------------------------------------------------------延伸--------------------------------------------------------------------------------------------
📘PC端程序开发领域
有3个常用的编译器,分别是GCC、MSVC、Clang,

① GCC编译器:GNU编译器集合。在Linux平台,GCC编译器被广泛使用;在Windows平台,选择安装🔗Cygwin / MinGW / MSYS2任意一个集合,可使用GCC编译。⭐开源⭐。
② MSVC:微软自家的编译器,与自家的IDE绑定,只能在Windows平台使用。⭐闭源⭐
③ Clang:苹果公司基于LLVM框架的编译器前端,LLVM项目中涉及到Clang前端,LLVM后端,LLD链接器。⭐开源⭐
据说Clang编译器是苹果公司为了【优化GCC编译器的编译速度】和【错误提示信息不健全】这2个缺点而挖人去开发出来的,对标GCC。

📙Make构建工具是啥?Makefile是啥?CMake构建生成器又是啥?CMakeList.txt又是啥?它们都有什么用?

个人理解:
🍇当你有单个或几个源文件+头文件时,只需要调用简单的gcc相关编译命令即可,或许并不需要这些工具,但是当你项目的源文件+头文件一旦多起来,编译过程就会变得异常繁琐。
🍎以前聪明的程序员大佬就想到了,能不能开发一个脚本文件和工具,来解决这些繁琐的步骤呢?……于是Makefile脚本和Make构建工具就诞生了,Makefile里面的语法规定了多文件项目的编译顺序和编译规则,Make负责调用并解析Makefile脚本。
🍍随着项目的各种文件越来越多,越来越多,Makefile的内容也会越来越多,也由于Win/Linux/Mac平台的构建工具不一样,跨平台性不友好,这个时候,又有聪明的程序员大佬想到了,能不能自动生成Makefile脚本的内容呢?……于是CMakeList.txtCMake构建生成器也诞生了,CMake的全称是Cross Plantform MakeCMake就是用来结合CMakeList.txt文件规则,然后自动生成MakefileNinjaNMake Makefile等脚本文件的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值