加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

干货:桌面操纵体系与嵌入式操纵体系的差别

发布时间:2021-05-18 02:20:29 所属栏目:编程 来源:互联网
导读:桌面操纵体系 对付当前主流桌面操纵体系而言,可行使 Visual 以及 LLVM Clang 这三大编译器。 Visual C++(简称 MSVC)是由微软开拓的,只能用于 Windows 操纵系
桌面操纵体系 对付当前主流桌面操纵体系而言,可行使 Visual  以及 LLVM Clang 这三大编译器。

Visual C++(简称 MSVC)是由微软开拓的,只能用于 Windows 操纵体系;GCC 和 LLVM Clang 除了可用于 Windows 操纵体系之外,首要用于 Unix/Linux 操纵体系。

像此刻许多版本的 Linux 都默认行使 GCC 作为C说话编译器,而像 FreeBSD、macOS 等体系默认行使 LLVM Clang 编译器。因为当前 LLVM 项目首要在 Apple 的主推下成长的,以是在 macOS中,Clang 编译器又被称为 Apple LLVM 编译器。

MSVC 编译器首要用于 Windows 操纵体系平台下的应用措施开拓,它不开源。用户可以行使 Visual Studio Community 版原来免费行使它,可是假如要把通过 Visual Studio Community 器材天生出来的应用举办商用,那么就得好好阅读一下微软的容许证和声名书了。

而行使 GCC 与 Clang 编译器构建出来的应用一样平常没有任何限定,措施员可以将应用措施随意宣布和举办商用。

MSVC 编译器对 C99 尺度的支持就异常有限,加之它压根不支持任何 C11 尺度,以是本教程中计划 C11 的代码例子不会针对 MSVC 举办描写。所幸的是,Visual Studio Community 2017 插手了对 Clang 编译器的支持,官方称之为——Clang with Microsoft CodeGen,当前版本基于的是 Clang 3.8。

也就是说,应用于 Visual Studio 集成开拓情形中的 Clang 编译器前端可支持 Clang 编译器的全部语法特征,尔后端天生的代码则与 MSVC 结果一样,包罗像 long 整数范例在 64 位编译模式下长度如故为 4 个字节,以是列位行使的时辰也必要留意。

为了利便描写,本教程后头涉及 Visual Studio 集成开拓情形下的 Clang 编译器简称为 VS-Clang 编译器。 嵌入式体系 而在嵌入式体系方面,可用的C说话编译器就很是富厚了,好比:

用于 Keil 公司 51 系列单片机的 Keil C51 编译器;

当前大红大紫的 Arduino 板搭载的开拓套件,可用针对 AVR 微节制器的 AVR GCC 编译器;

ARM 本身出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和当前最新的 DS-5 Studio;

DSP 计划商 TI(Texas Instruments)的 CCS(Code Composer Studio);

DSP 计划商 ADI(Analog Devices,Inc.)的 Visual DSP++ 编译器,等等。


凡是,用于嵌入式体系开拓的编译器材链都没有免费版本,并且一样平常必要通过海内署理举办购置。以是,这对付小我私人开拓者可能嵌入式体系喜爱者而言是一道不低的门槛。

不外 Arduino 的开拓套件是可免费下载行使的,而且用它做开拓板毗连调试也异常简朴。Arduino 所回收的C编译器是基于 GCC 的。

尚有像树莓派(Raspberry Pi)这种迷你电脑可以直接行使 GCC 和 Clang 编译器。另外,尚有像 nVidia 公司推出的 Jetson TK 系列开拓板也可直接行使 GCC 和 Clang 编译器。树莓派与 Jetson TK 都默认安装了 Linux 操纵体系。

在嵌入式规模,一样平常较量低端的单片机,好比 8 位的 MCU 所对应的C编译器也许只支持 C90 尺度,有些乃至连 C90 尺度的许多特征都不支持。由于它们一方面内存小,ROM 的容量也小;另一方面,自己处理赏罚器性能就异常有限,有些乃至无法支持函数,由于处理赏罚器自己不包括通过寄存器做间接进程挪用的指令。

而像 32 位处理赏罚器或 DSP,一样平常都至少能支持 C99 尺度,它们自己的机能也异常强盛。而像 ARM 出的 RVDS 编译器乃至可用 GNU 语法扩展。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读