ARMcc、ARMclang、GCC for ARM这3个嵌入式交叉编译工具链有什么区别?

嵌入式开发领域
1.ARMcc是ARM公司开发的一套第5代嵌入式工具链,嵌于keil IDE等IDE中(IDE顾名思义就是集成开发环境,代码编辑、代码编译、代码仿真、代码调试等过程都集成在IDE上,让用户只需关注代码逻辑和实现),属于收费的交叉编译工具链。
2.ARMclang同样是ARM公司开发的一套第6代嵌入式工具链,是基于苹果公司IIVM框架的嵌入式工具链,属于收费的工具链**。
3.GCC for ARM是个人用户基于编辑器搭建的Arm GNU Toolchain(arm-none-eabi-gcc)嵌入式工具链,熟悉吧?vscode、eclipse、clion等编辑器 + arm-none-eabi-gcc工具链 + make工具/CMake工具或makefile/CMakeList.txt脚本文件 + openocd调试工具(网上有很多大佬说用记事本或者notepad++等文本编辑器去自己搭建一套开发流程的……只能说……嗯 ……够原生态的,不过这样也有助于理解整套开发调试流程,我个人目前是不会的),属于开源的交叉编译工具链(致敬开源精神,开源万岁) ,可跨平台win/mac/linux。
虽然但是……arm-none-eabi-gcc编译器相比于keil的AC5、AC6编译器,所编译的hex文件比较大,Flash占用较高。
细心的你应该发现了,打开keil uvision的“俄罗斯方块”——>Folders/Extensions,其实可以选择性地使用以上的工具链,如下图,
打开keil uvision的“俄罗斯方块”

在这里插入图片描述
点击Folders/Extensions

在这里插入图片描述
--------------------------------------------------------------------------------延伸--------------------------------------------------------------------------------------------
纯C语言开发领域
有3个常用的编译器,分别是GCC、msvc、Clang,
1.GCC编译器:一套GNU的编译器,在Linux平台下,GCC编译器经常被使用;在windows平台下,有个安装集合叫 MinGW-64,人称win版GCC,开源。
2.MSVC:微软自家的编译器,集成在自家的IDE里面,只能在win下使用,闭源。
3.Clang:苹果公司基于LLVM框架的编译器前端,开源。
还有一个编译器叫Cygwin:暂时不知道是啥………………
据说Clang编译器是苹果公司为了【优化GCC编译器的编译速度】和【错误提示信息不健全】这2个缺点而挖人去开发出来的,对标GCC。

make构建工具是啥?makefile是啥?CMake又是啥?CMakeList.txt又是啥?它们都有什么用?
个人大概理解…………就是当你有单个源文件时,可能并不需要这些工具,但是当你项目的源文件一多起来,编译就变得异常繁琐。
这个时候,以前的聪明的程序员大佬就想到了,能不能开发一个脚本文件和工具,来解决这个繁琐的步骤呢……于是makefile脚本和make工具就诞生了,makefile里面的语法规定了多文件的编译顺序和编译规则。随着项目的源文件越来越多,越来越多,写makefile的内容也越来越多,这个时候,又有聪明的程序员大佬想到了,能不能自动生成makefile脚本的内容呢…………于是CMakeList.txt和CMake工具也诞生了,CMake就是用来结合CMakeList.txt文件规则来生成makefile脚本文件。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值