日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

C語言作為高級語言,用其編寫的程序指令機器并不能識別,因此需要有一個編譯器將其轉換為機器可識別的二進制指令。C語言已經出現50多年的時間,其相關的編譯器種類眾多,從最早先的turbo c系列編譯器,到大名鼎鼎的gcc,還有基于LLVM的clang,各有優劣,而且在多個平臺(如windows、linux、mac)上都廣泛使用。同時由于Windows的強勢存在,其自家的Visual C/C++編譯器也有不少的應用。

一般C語言程序是在PC上編寫,并將其編譯成可執行文件,最終放到電腦或設備上去執行。

C語言編譯器之一,GCC

 

現在主流PC的CPU架構+操作系統組合有多種,其編譯生成的可執行程序可能在不同的架構下執行,因此對于同一類編譯器,可能需要針對CPU架構和系統組合也要有相應的版本。

C語言編譯器之一,GCC

 

注:蘋果自研的ARM架構CPU M1將會在2022年用于最新的MAC pro筆記本中。

編譯程序一般分為兩種情況(如下舉例):

A、 在X86+Windows系統下編譯C程序,可以直接在X86+Windows系統的PC上直接執行;

B、 在X86+Windows系統下需要x86-Arm交叉編譯器編譯C程序,才能在ARM平臺設備上執行;

因此需要根據開發編譯平臺與目標運行平臺選擇編譯器類別,而有些IDE集成了官方對應的C編譯,安裝就可以使用,如:

1、對于Visual C/C++編譯器,集成開發環境Visual Studio也集成了Visual C/C++編譯器,安裝Visual Studio后,即可IDE中編輯/編譯C程序;

2、對于ARM(R/M系列)和8051系列,集成開發環境(IDE)中可能已經集成了交叉編譯器環境,如MDK KEIL中已經集成了ARMCC交叉編譯器,安裝MDK后,就可以在IDE中編輯/編譯C程序。

C編譯器很多,以下分別介紹當前主流的幾個C編譯器!首先是大名鼎鼎的GCC編譯器。

C語言編譯器之一,GCC

 

一、GCC編譯器

GCC是(GNU Compiler Collection)的縮寫,是由GNU開發的編程語言譯器。最初是為C語言而編寫,后面陸陸續續擴充了C++、 Objective-C、 Fortran、JAVA、Ada和Go語言,也包括了這些語言的庫(如libstdc++,libgcj等),因此GCC是GNU編譯器套件。

Gcc編譯器鏡像在其官方FTP服務器上可以下載,目前最新版本為gcc-11.2.0。

C語言編譯器之一,GCC

 


C語言編譯器之一,GCC

 

1、 gcc for ARM

當今移動端手機處理器基本上是基于ARM架構,而許多智能設備或物聯網設備內置芯片的CPU內核也是基于ARM,因此,ARM公司也不斷更新維護針對ARM架構的交叉c編譯器。

ARM從1985年設計的ARMv1芯片,到現在ARMv9,已經有30幾年的歷史,各個架構典型的處理器版本如下表所示:

C語言編譯器之一,GCC

 

目前廣泛使用的是ARMv7、ARMv8;ARMv7在智能設備芯片、微處理器MCU上應用比較多,比如NXP推出的IM6ULL采用ARM Cortex-A7,ST推出的STM32F4采用ARM Cortex-M4內核;而目前流行的手機處理器,基本都是ARMv8架構中的Cortex-A系列中,比如現在華為P50系列的麒麟9000處理器就是采用ARM Cortex-A77,小米11系列的驍龍888處理器采用ARM Cortex-A78,因此,理論上驍龍888比麒麟9000處理器會強一些。

ARMv9架構是ARM今年剛推出的全新的下一代架構,首款基于Armv9架構的大核CPU Arm Cortex-A710以及首款高效率小核Arm Cortex-A510的手機,估計明年會到來。

C語言編譯器之一,GCC

 

ARMv8的架構繼承以往ARMv7與之前處理器技術的基礎,除了現有的16/32bit的Thumb2指令支持外,也向前兼容和擴充了現有A32(ARM 32bit)指令集的AArch32架構 ,新增了基于64bit的AArch64架構;

C語言編譯器之一,GCC

 

 

A、 基于32位Arm Cortex-A, Arm Cortex-M, and Arm Cortex-R處理器的GCC交叉編譯工具鏈(基本上ARMv7架構下使用),ARM開發者網站提供了下載,包含Windows, Linux, Mac OS X操作系統平臺,目前最新版本為10.3-2021.07,下載地址:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

C語言編譯器之一,GCC

 


C語言編譯器之一,GCC

 

A、 基于AArch32(擴充版32位)與AArch64(新增64位)的交叉編譯器(ARMv8架構下),ARM開發者網站提供了下載,包含Windows, Linux, Mac OS X操作系統平臺,目前最新版本為10.3-2021.07,下載地址:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads

C語言編譯器之一,GCC

 


C語言編譯器之一,GCC

 


C語言編譯器之一,GCC

 

2、 Linux下gcc編譯器

Linux一般自帶gcc編譯器,可以通過gcc –v查看其版本號,如下圖:

C語言編譯器之一,GCC

 

從打印信息中 “Target:x86-64-linux-gnu”,可以看出默認的gcc編譯器是針對x86架構的,因此編譯得出的可執行文件只能在x86架構下執行;而一般情況是在Linux下開發編譯C程序,然后在ARM下執行,因此需要安裝交叉編譯C編譯器。

在ARM官網上可以下載最新版本,或芯片廠家會提供對應修改過的版本,同時有些第三方組織提供修改過的編譯器版本,如Linaro GCC編譯器,下載地址為:

https://snapshots.linaro.org/components/toolchain/

C語言編譯器之一,GCC

 

按以上4個步驟下載gcc-linaro-4.9.4-2017.01-
x86_64_arm-linux-gnueabihf.tar版本編譯器,并上傳至ubuntu系統中,拷貝到目錄/usr/local/arm中對交叉編譯工具進行解壓,解壓命令如下:sudo tar –vxf gcc-linaro-4.9.4-2017.01- x86_64_arm-linux-gnueabihf.tar,解壓完成會生成一個名為gcc-linaro-4.9.4-2017.01- x86_64_arm-linux-gnueabihf的文件夾就是交叉編譯工具鏈。

C語言編譯器之一,GCC

 

然后修改環境變量,執行sudo vi /etc/profile命令打開/etc/profile文件,在文件末尾添加PATH路徑,這樣交叉編譯工具鏈就安裝成功。

C語言編譯器之一,GCC

 

最后執行命令sudo apt-get install lsb-core lib32stdc++6安裝標準C庫, 然后讀取版本號驗證工具鏈安裝正確。

C語言編譯器之一,GCC

 

3、 Windows下的gcc編譯器

3.1、MinGW-w64編譯器

MinGW-w64編譯器是gcc編譯器的Windows版本,MinGW 的全稱是:Minimalist GNU on Windows,它也是一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,它使用 Windows 的C語言運行庫,可以將C源碼編譯成可在Windows下執行。

進入MinGW-w64下載最新版本的編譯器:

http://www.mingw-w64.org/doku.php

C語言編譯器之一,GCC

 

當前最新版本為V.9.0.0,點擊Downloads下載,進入下載頁面;MinGW-w64 的代碼和可執行文件被托管存儲在 SourceForge 上,如下鏈接地址:

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

C語言編譯器之一,GCC

 

往下拉找到可執行文件MinGW-W64-install.exe,下載直接雙擊安裝,不用去編譯源代碼。

C語言編譯器之一,GCC

 

需要連接網絡在線安裝mingw-w64-install.exe,在進行版本和主機架構選擇后就會自動下載mingw組件。

C語言編譯器之一,GCC

 

組件下載完成后,在bin目錄下包含了各種工具,如:gcc.exe,g++.exe,gdb.exe,將bin文件夾路徑添加到系統環境變量PATH中,至此,mingw安裝完成。

C語言編譯器之一,GCC

 

驗證mingw編譯功能。

C語言編譯器之一,GCC

 

3.2、集成開發環境(IDE)

以上使用mingw編譯C語言采用的是命令行的形式,對于學習C語言來說是非常清晰的,但是開發項目時C文件數量眾多,一個個編譯顯得不現實,因此需要編寫makefile來統一編譯管理,這樣就回到了Linux下的C語言編程,體現不出Windows桌面系統的優勢,因此在Windows下,許多集成開發環境(IDE)集成了MinGW編譯器,PC應用開發的工具有QT,Code::Blocks,Dev C++ ,C-Free等,嵌入式開發的工具有MDK(KEIL),IAR等。

3.2.1、QT

QT是一個跨平臺的開發環境,WINDOWS/LINUX/MAC下都可以用,同一套代碼分別在三個平臺下編譯就可生成各個平臺的應用程序,其下載的官方網站如下:

https://download.qt.io/archive/qt/;

C語言編譯器之一,GCC

 

目前最新版本為6.1,選擇一個合適版本下載安裝,QT在安裝時可以選擇配套的MinGW版本,這樣編寫C/C++項目工程時,一鍵編譯就很方便。

C語言編譯器之一,GCC

 

3.2.2、Code::Blocks

Blocks是一個免費的C/ c++和Fortran IDE,IDE集成了MinGW編譯器,官方下載地址如下:
https://www.codeblocks.org/downloads/。

C語言編譯器之一,GCC

 

下載后直接安裝即可。

3.2.3、Dev-C++

devc ++是一個免費的Windows集成開發程序,內嵌 GCC 編譯器(GCC 編譯器的 Windows 移植版,也就是MinGW),是 NOI、NOIP 等比賽的指定工具。Dev C++ 的優點是體積小(只有幾十兆)、安裝卸載方便、學習成本低,缺點是調試功能弱。

下載地址:
https://sourceforge.net/projects/orwelldevcpp/或
https://bloodshed-dev-c.en.softonic.com/

C語言編譯器之一,GCC

 

Dev C++ 下載完成后會得到一個安裝包(.exe 程序),雙擊該文件即可開始安裝。

3.2.4、C-Free

C-Free是一款集成開發環境(IDE),支持多種編譯器的專業化C/C++,使用者可以輕松地編輯、編譯、連接、運行、調試C/C++程序。Visual Studio的很龐大臃腫,而C-Free整個軟件才14M,非常輕巧,安裝簡單,可以自由切換編譯器。C-Free最新版本是5.0,注冊需要80RMB,可以免費試用30天,過期不注冊將無法使用。C-Free也提供了永久免費版,可以無限使用,版本號為4.0。

官方下載地址:
https://c-free.soft32.com/

C語言編譯器之一,GCC

 

C-Free可配置MinGW 2.95/3.x/4.x/5.0編譯器。

3.2.5、Keil

在基于Cortex-M或8051系列MCU的嵌入式開發中,許多優秀的IDE也都集成了交叉編譯工具,如源自德國Keil公司,開發幾個分別用于ARM系列、8051系列的集成IDE,內部集成了編譯器(ARMCC、Keil C),這些編譯器就是集成的交叉編譯器,就是在windows下編譯,生成的可執行程序在ARM或51內核執行。

官方下載地址:
https://www.keil.com/download/product/

C語言編譯器之一,GCC

 

3.2.6、IAR Embedded Workbench

總部在北歐的瑞典的IAR公司的集成開發環境IAR Embedded Workbench,也是專用于Cortex-M或8051系列MCU的嵌入式開發。IAR也是集成了IAR C/ C++編譯器。

官方下載地址:
https://www.iar.com/products/#/search

C語言編譯器之一,GCC

 

IAR工具有免費30天的試用期,如果自己學習使用,可以破解。

4、 Mac下的gcc編譯器

Mac OS X 10.4版本前,Mac也是采用gcc編譯器編譯Object-C,Mac OS X 10.5版本之后,LLVM-Clang編譯器開始逐漸替代GCC編譯器成為Mac的主要編譯器,因此,后續gcc等工具默認不再Mac OS X系統中安裝,而有時在MAC OS X下編譯開源軟件項目可能需要gcc編譯器,因此以下提供幾個常用的gcc安裝方法(總結于其它博主的安裝方法)。

4.1、命令行工具

命令行工具作為XCODE IDE的可選軟件包,也就是Command Line Tools,為mac終端用戶提供了許多常用的工具,如實用程序和編譯器,包括svn,git,make,GCC,clang,perl,size,strip,strings,libtool,cpp,what等,因此安裝了Command Line Tools,就包含了GCC編譯器軟件,有幾個方式安裝Command Line Tools。

4.1.1、通過XCODE安裝

安裝XCODE后,默認不安裝Command Line Tools,但是可以通過菜單可視化安裝命令行工具,如下圖所示:

C語言編譯器之一,GCC

 

4.1.2、通過Command Line Tools安裝包

XCODE軟件很大,有幾十G空間,因此可以選擇下載 Command Line Tools安裝包安裝,前提是有AppLE開發者賬號,登錄開發者網站下載xx.mpkg安裝包
https://developer.apple.com/cn/,

C語言編譯器之一,GCC

 

4.1.3、通過xcode-select –install命令安裝

命令xcode-select是一個在多個命令行工具目錄之間切換的實用程序,如下相關命令選項:

A、 xcode-select [-help] ;查看幫助

B、 xcode-select [-switch xcode_folder_path] ;切換xcode版本

C、 xcode-select [-print-path] ;查看當前版本xcode路徑

D、 xcode-select [-version] ;查看xcode版本

E、 xcode-select [–install] ;安裝xcode工具

通過xcode-select –install命令安裝方法如下:

C語言編譯器之一,GCC

 

4.2、通過brew包管理工具安裝

a、安裝包管理工具,terminal終端執行如下指令(國內安裝源),安裝home brew:

安裝完整版:

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

安裝簡化版:

/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)"

安裝錯誤查詢地址:

https://gitee.com/cunkai/HomebrewCN/blob/master/error.md

b、執行指令brew install gcc安裝gcc。

C語言編譯器之一,GCC

 

c、執行gcc –v查看版本

C語言編譯器之一,GCC

 

發現gcc執行時映射到clang,因此后續調用gcc需要帶上版本號,如gcc-10 –v;編譯程序也一樣:gcc-10 main.cpp -o mainApp -lstdc++。

4.3、通過gcc安裝包安裝

a、到gcc托管網站sourceforge上下載所需的gcc版本,如下網站:

https://sourceforge.net/projects/hpc/files/hpc/gcc/;

C語言編譯器之一,GCC

 

b、打開terminal終端,進入gcc-9.2-bin.tar.gz壓縮包所在的目錄,然后執行解壓:

gunzip gcc-9.2-bin.tar.gz
sudo tar -xvf gcc-9.2-bin.tar

c、添加環境變量,打開配置文件touch ~/.bash_profile,添加PATH路徑:

C語言編譯器之一,GCC

 

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

C語言編譯器之一,GCC

 

分享到:
標簽:GCC
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定