苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍

作为高级语言,C语言编写的程序指令不能被机器识别,因此需要编译器将其转换成机器可以识别的二进制指令。C语言已经存在50多年了,与之相关的编译器种类繁多,从最早的turbo c系列编译器,到大名鼎鼎的gcc,以及基于LLVM的clang,各有优缺点,并在多个平台(如Linux、MAC)广泛使用。同时,由于其强大的存在感,其自带的C/C++编译器也有很多应用。

通常,C语言程序在PC上编写,编译成可执行文件,最后在计算机或设备上执行。

图片[1]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

目前主流PC的CPU架构+操作系统的组合有很多种,编译生成的可执行程序可能在不同的架构下执行。因此,对于同一类型的编译器,可能需要针对CPU架构和系统的组合有相应的版本。.

图片[2]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

注:苹果自研ARM架构CPU M1将用于2022年最新款MAC pro笔记本。

编译器一般分为两种情况(下例):

A、X86+系统下编译的C程序可以直接在X86+系统的PC上执行;

B、X86+系统下,需要x86-Arm交叉编译器编译C程序,才能在ARM平台设备上执行;

所以需要根据开发编译平台和目标运行平台选择编译器类别,有的IDE集成了官方对应的C编译,安装后即可使用,如:

1、对于C/C++编译器,集成开发环境也集成了C/C++编译器。安装后可以在IDE中编辑/编译C程序;

2、对于ARM(R/M系列)和8051系列,集成开发环境(IDE)可能已经集成了交叉编译环境。例如,ARMCC 交叉编译器已集成在 MDK KEIL 中。可以在 IDE 中编辑/编译 C 程序。

有许多 C 编译器。下面介绍几种目前主流的C编译器!第一个是著名的 GCC 编译器。

图片[3]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

一、GCC 编译器

GCC是(GNU)的首字母缩写,是由GNU开发的程序语言翻译器。最初是为 C 语言编写的,后来扩展了 C++、-C、、Java、Ada 和 Go 语言,还包含了这些语言的库(如 ++ 等),所以 GCC 是GNU 编译器套件。

Gcc 编译器镜像可在其官方 FTP 服务器上下载,最新版本为 gcc-11.2.0。

图片[4]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

图片[5]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

1、 用于 ARM 的 gcc

现在的手机处理器基本都是基于ARM架构的,很多智能设备或者IoT设备内置芯片的CPU核心也是基于ARM的。因此,ARM 也不断更新和维护针对 ARM 架构的跨 C 编译器。

ARM从1985年设计的ARMv1芯片到现在的ARMv9,已有30多年的历史。每种架构的典型处理器版本如下表所示:

图片[6]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

目前广泛使用的是ARMv7、ARMv8;ARMv7 广泛用于智能设备芯片和微处理器 MCU。比如NXP推出的ARM-A7和ST推出的ARM-M4内核,目前比较流行。手机处理器基本属于ARMv8架构的-A系列。比如目前华为P50系列麒麟9000处理器采用ARM-A77,小米11系列骁龙888处理器采用ARM-A78。所以理论上,骁龙888比麒麟9000处理器强。

ARMv9架构是ARM今年刚刚推出的新一代架构。首款基于Armv9架构的大核CPU Arm-A710和首款高效小核Arm-A510手机预计明年到货。

图片[7]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

ARMv8 的架构继承了之前 ARMv7 和之前处理器技术的基础。除了现有的16/32bit指令支持外,它还向前兼容并扩展了现有的A32(ARM 32bit)指令集架构,增加了基于64bit的指令集。结构;

图片[8]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

A.基于32位Arm-A、Arm-M、Arm-R处理器的GCC交叉编译工具链(基本在ARMv7架构下使用),ARM开发者网站提供下载,包括,Linux,Mac OS X操作系统平台,最新版本为10.3-2021.07,下载地址:

图片[9]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

图片[10]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

A.基于(扩展版32位)和(新64位)交叉编译器(ARMv8架构下),ARM开发者网站提供下载,包括Linux、Mac OS X操作系统平台,最新版本为10.3-2021.07,下载地址:

图片[11]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

图片[12]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

图片[13]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

2、 Linux下的gcc编译器

Linux一般自带gcc编译器,可以通过gcc -v查看它的版本号,如下图:

图片[14]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

从打印信息“:x86-64-linux-gnu”可以看出,默认的gcc编译器是针对x86架构的,所以编译出来的可执行文件只能在x86架构下执行;在Linux下开发编译C程序,然后在ARM下执行,所以需要安装交叉编译的C编译器。

可以在ARM官网下载最新版本,或者芯片厂商会提供相应的修改版本,部分第三方机构提供修改后的编译器版本,如GCC编译器,下载地址为:

图片[15]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

按照以上4步下载gcc–4.9.4-2017.01–linux-.tar版本编译器,上传到系统,复制到目录 /usr/ 解压local/arm中的交叉编译工具。解压命令如下:sudo tar –vxf gcc–4.9.4-2017.01–linux-.tar,解压完成一个名为gcc的文件夹– 4.9.4-2017.01–linux- 会生成交叉编译工具链。

然后修改环境变量,执行sudo vi /etc/命令打开/etc/文件,在文件末尾添加PATH路径,这样交叉编译工具链就安装成功了。

图片[16]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

最后执行命令 sudo apt-get lsb-core++6 安装标准C库,然后读取版本号验证工具链是否安装正确。

图片[17]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

3、 下的 gcc 编译器

3.1、MinGW-w64 编译器

MinGW-w64 编译器是 gcc 编译器的版本。MinGW的全称是:GNU onc聊天程序源码,它也是一个特定的头文件集合,可以自由使用和分发,并使用GNU工具集导入库,以及它使用的C语言运行库。,C源代码可以编译成下面的可执行文件。

去MinGW-w64下载最新版本的编译器:

图片[18]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

当前最新版本为V.9.0.0,点击下载进入下载页面;MinGW-w64的代码和可执行文件托管和存储在以下链接地址:

图片[19]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

下拉找到可执行文件MinGW-W64-.exe,下载后双击安装,无需编译源码。

图片[20]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

需要连接网络才能在线安装mingw-w64-.exe。选择版本和主机架构后,mingw组件会自动下载。

图片[21]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

组件下载后,bin目录下包含各种工具,如:gcc.exe、g++.exe、gdb.exe,并将bin文件夹路径添加到系统环境变量PATH中。至此,mingw安装完成。

图片[22]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

验证 mingw 编译功能。

图片[23]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

3.2、集成开发环境(IDE)

上面提到的mingw编译C语言的使用是命令行的形式,对于学习C语言来说是非常清楚的。但是在开发项目的时候,有大量的C文件,一一编译是不现实的。因此,需要编写统一编译管理。又回到Linux下的C语言编程,没有体现桌面系统的优势。因此,很多集成开发环境(IDE)都集成了MinGW编译器,PC应用开发的工具有QT、Code::、Dev C++、C-Free等。嵌入式开发的工具有MDK(KEIL)、IAR、等等。

3.2.1、QT

QT是一个跨平台的开发环境,可以在/LINUX/MAC下使用。同一组代码可以在三个平台下编译,为每个平台生成应用程序。下载官网如下:

;

图片[24]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

目前最新版本为6.1。选择合适的版本下载安装。QT在安装时可以选择匹配的MinGW版本,这样在编写C/C++项目时,一键编译非常方便。

图片[25]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

图片[26]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

3.2.2、代码::

它是一个免费的 C/c++ 和 IDE。IDE 集成了 MinGW 编译器。官方下载地址如下:.

图片[27]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

下载后直接安装即可。

3.2.3、Dev-C++

devc++是一款免费的内嵌GCC编译器(GCC编译器移植版,即MinGW)的集成开发程序,是NOI、NOIP等比赛的指定工具。Dev C++的优点是体积小(只有几十兆),安装和卸载方便,学习成本低。缺点是调试功能较弱。

下载地址:或

图片[28]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

Dev C++下载完成后,会得到一个安装包(.exe程序),双击该文件开始安装。

3.2.4、无C

C-Free 是一个集成开发环境 (IDE),它支持具有多个编译器的专用 C/C++。用户可以轻松地编辑、编译、链接、运行和调试 C/C++ 程序。很大很臃肿,C-Free的整个软件只有14M,非常轻量级,安装方便,可以自由切换编译器。C-Free最新版本为5.0,注册费80RMB,可免费试用30天,未注册将无法使用。C-Free 还提供永久免费版本,可以无限使用。版本号是 4.0。

官方下载地址:

图片[29]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

C-Free 可以配置 MinGW 2.95/3.x/4.x/5.0 编译器。

3.2.5、凯尔

在基于-M或8051系列MCU的嵌入式开发中,很多优秀的IDE还集成了交叉编译工具。比如德国的Keil公司,开发了几个ARM系列和8051系列的集成IDE,内部集成。有编译器(ARMCC、Keil C),这些编译器是集成的交叉编译器,也就是在下面编译,生成的可执行程序在ARM或51核上执行。

官方下载地址:

图片[30]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

3.2.6、IAR

总部位于北欧的瑞典公司IAR的集成开发环境IAR也致力于-M或8051系列MCU的嵌入式开发。IAR 还集成了 IAR C/C++ 编译器。

官方下载地址:#/

图片[31]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

IAR 工具有 30 天的免费试用期。如果你自己学会使用它,你可以破解它。

4、 Mac下的gcc编译器

在 Mac OS X 10.4 版本之前,Mac 也使用 gcc 编译器编译 -C,在 Mac OS X 10.5 版本之后,LLVM-Clang 编译器开始逐渐取代 GCC 编译器成为 Mac 的主要编译器,因此,Mac OS X 中不再默认安装 gcc 等后续工具,有时在 MAC OS X 下编译开源软件项目可能需要 gcc 编译器,所以下面提供几种常用的 gcc 安装方法(总结在其他博主的安装方法中)。

4.1、命令行工具

Line Tools 作为 XCODE IDE 的一个可选包,为 mac 终端用户提供了许多常用的工具,如实用程序和编译器,包括 svn、git、make、GCC、clang、perl、size、strip、、cpp、what 等. 因此,如果安装了 Line Tools,则包含 GCC 编译器软件。有几种方法可以安装 Line Tools。

4.1.1、通过 XCODE 安装

XCODE安装后,默认不安装Line Tools,但是可以通过菜单直观的安装命令行工具,如下图:

图片[32]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

4.1.2、通过 Line Tools 安装包

XCODE软件很大,有几十GB空间,可以选择下载Line Tools安装包进行安装,前提是你有APPLE开发者账号c聊天程序源码,登录开发者网站下载xx.mpkg安装包,

图片[33]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

4.1.3、通过xcode–安装

命令 xcode – 是一个在多个命令行工具目录之间切换的实用程序,具有以下相关命令选项:

A. xcode-[-help]; 查看帮助

B.xcode-[-];切换xcode版本

C、xcode-[-print-path];查看当前版本的xcode路径

D. xcode-[-] ; 查看 xcode 版本

E. xcode-[-] ; 安装 xcode 工具

通过xcode—命令安装方法如下:

图片[34]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

4.2、通过brew包管理工具安装

一个。安装包管理工具,在终端(国内安装源)执行如下命令,安装home brew:

安装完整版:

/bin/zsh -c “$(curl -fsSL )”

安装入门版:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

卸载脚本:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

安装错误查询地址:

湾。执行命令 brew gcc 安装 gcc。

图片[35]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

C。执行 gcc -v 查看版本

发现执行时gcc映射到clang,所以后续调用gcc需要带上版本号,比如gcc-10 -v;编译器也是如此:gcc-10 main.cpp -o -lstdc++。

4.3、通过gcc安装包安装

一个。去gcc托管网站下载需要的gcc版本,如下:

;

图片[36]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

湾。打开终端,进入gcc-9.2-bin.tar.gz压缩包所在目录,然后执行解压:

gunzip gcc-9.2-bin.tar.gz

sudo tar -xvf gcc-9.2-bin.tar

C。添加环境变量,打开配置文件touch ~/.,添加PATH路径:

图片[37]-苹果自研的ARMC语言CPU架构CPU+操作系统组合介绍-4747i站长资讯

d。激活配置:~/.,然后gcc –查看版本信息:

文章来源:http://www.toutiao.com/a6999524303276868108/

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片