0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何選擇C語言編譯器和IDE

C語言編程學(xué)習(xí)基地 ? 來源:未知 ? 作者:胡薇 ? 2018-06-26 16:47 ? 次閱讀

在Windows下,可執(zhí)行程序(Executable Program)大部分是 .exe 程序,它是一系列計(jì)算機(jī)指令和數(shù)據(jù)的集合。這些指令都是二進(jìn)制形式的,CPU可以直接識(shí)別,毫無障礙;但是對(duì)于程序員,它們非?;逎?,難以記憶和使用。

計(jì)算機(jī)發(fā)展初期,程序員就是使用這些二進(jìn)制形式的CPU指令來編寫程序的。

直接使用CPU指令編程對(duì)程序員來說簡(jiǎn)直是噩夢(mèng),尤其是當(dāng)程序比較大的時(shí)候,不但編寫麻煩,需要頻繁查詢指令手冊(cè),而且除錯(cuò)會(huì)異??鄲?,要直接面對(duì)一堆二進(jìn)制數(shù)據(jù),讓人眼花繚亂。另外,用CPU指令編程步驟繁瑣,要考慮各種邊界情況和底層問題,開發(fā)效率十分低下。這就倒逼程序員開發(fā)出了編程語言,提高自己的生產(chǎn)力;例如匯編、C語言、C++、Java、Python、Go語言等,都是在逐步提高開發(fā)效率。至此,編程終于不再是只有極客能做的事情了,不了解計(jì)算機(jī)的讀者經(jīng)過一定的訓(xùn)練也可以編寫出有模有樣的程序。

什么是編譯器

C語言代碼由固定的詞匯按照固定的格式組織起來,簡(jiǎn)單直觀,程序員容易識(shí)別和理解,但是對(duì)于CPU,C語言代碼就是天書,根本不認(rèn)識(shí),CPU只認(rèn)識(shí)幾百個(gè)二進(jìn)制形式的指令。這就需要一個(gè)工具,將C語言代碼轉(zhuǎn)換成CPU能夠識(shí)別的二進(jìn)制指令,也就是將代碼加工成 .exe 程序;這個(gè)工具是一個(gè)特殊的軟件,叫做編譯器(Compiler)。編譯器能夠識(shí)別代碼中的詞匯、句子以及各種特定的格式,并將他們轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制形式,這個(gè)過程稱為編譯(Compile)。C語言的編譯器有很多種,不同的平臺(tái)下有不同的編譯器,例如:

Windows 下常用的是微軟開發(fā)的cl.exe,它被集成在 Visual Studio 或 Visual C++ 中,一般不單獨(dú)使用;

Linux 下常用的是 GUN 組織開發(fā)的GCC,很多 Linux 發(fā)行版都自帶 GCC;

Mac 下常用的是LLVM/Clang(以前是 GCC,后來由于 GCC 的不配合才改為 LLVM/Clang)。

你的代碼語法正確與否,編譯器說了才算,我們學(xué)習(xí)C語言,從某種意義上說就是學(xué)習(xí)如何使用編譯器,讓編譯器生成可執(zhí)行程序(例如 Windows 下的 .exe 程序)。編譯器可以100%保證你的代碼從語法上講是正確的,因?yàn)槟呐掠幸稽c(diǎn)小小的錯(cuò)誤,編譯也不能通過,編譯器會(huì)告訴你哪里錯(cuò)了,便于你的更改。

選擇合適的IDE

實(shí)際開發(fā)中,除了編譯器是必須的工具,我們往往還需要很多其他輔助軟件,例如編輯器、調(diào)試器、文件管理等,這些工具通常被打包在一起,統(tǒng)一發(fā)布和安裝,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、Code::Blocks、C-Free 等,它們統(tǒng)稱為IDE(Integrated Development Environment,集成開發(fā)環(huán)境)。

01

Windows

Windows 下的 IDE 比較多,我推薦使用 Visual Studio 或者 Dev C++;如果你的操作系統(tǒng)是 XP 或者 Win7,你也可以使用 C-Free。另外,國(guó)內(nèi)很多高校還在使用 Visual C++ 6.0,把它作為C語言教學(xué)的工具。① Visual C++ 6.0(簡(jiǎn)稱VC 6.0)是微軟開發(fā)的一款經(jīng)典的IDE,很多高校都以 VC 6.0 為教學(xué)工具來講解C和C++。但VC 6.0是1998年的產(chǎn)品,很古老了,在 Win7、Win8、Win10 下會(huì)有各種各樣的兼容性問題,甚至根本不能運(yùn)行,所以不推薦使用。② Visual Studio(簡(jiǎn)稱VS)是 Visual C++ 6.0 的升級(jí)版,增加了很多新特性,支持了更多的語言,是 Windows 下的標(biāo)準(zhǔn) IDE,實(shí)際開發(fā)中大家也都在使用。不過 VS 有點(diǎn)龐大,安裝包有2~3G,下載不便,而且會(huì)安裝很多暫時(shí)用不到的工具,安裝時(shí)間在半個(gè)小時(shí)左右。為了適應(yīng)最新的 Windows 操作系統(tǒng),微軟每隔一段時(shí)間(一般是一兩年)就會(huì)對(duì) VS 進(jìn)行升級(jí)。VS 的不同版本以發(fā)布年份命名,例如 VS2010 是微軟于 2010 年發(fā)布的,VS2017 是微軟于 2017 年發(fā)布的。③ Dev C++ 是一款免費(fèi)開源的 C/C++ IDE,內(nèi)嵌 GCC 編譯器(GCC 編譯器的 Windows 移植版),是 NOI、NOIP等比賽的指定工具。Dev C++ 的優(yōu)點(diǎn)是體積小(只有幾十兆)、安裝卸載方便、學(xué)習(xí)成本低,缺點(diǎn)是調(diào)試功能弱。

NOI 是National Olympiad in Informatics的縮寫,譯為“全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽”;NOIP 是National Olympiad in informatics in Provinces的縮寫,譯為“全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽”。NOI、NOIP 都是奧林匹克競(jìng)賽的一種,參加者多為高中生,獲獎(jiǎng)?wù)邔⒈槐K偷矫拼髮W(xué)或者得到高考加分資格。

④ C-Free 是一款國(guó)產(chǎn)的 Windows 下的C/C++ IDE,最新版本是 5.0,整個(gè)軟件才 14M,非常輕巧,安裝也簡(jiǎn)單,界面也比 Dev C++ 漂亮。C-Free 的缺點(diǎn)也是調(diào)試功能弱。可惜的是,C-Free 已經(jīng)多年不更新了,組件都老了,只能在 XP、Win7 下運(yùn)行,在 Win8、Win10 下可能會(huì)存在兼容性問題,所以我才重點(diǎn)推薦 Dev C++,否則我會(huì)更加傾向于 C-Free。

02

Linux

在 Linux 下使用GCC(GNU Compiler Collection,GNU編譯器套件)。GCC是GUN組織開發(fā)的自由軟件,除了支持C,還支持C++、Java、Objective-C等,它是Linux平臺(tái)編譯器的事實(shí)標(biāo)準(zhǔn)。

03

Mac OS X

在 Mac OS X 下使用 Xcode。Xcode 是由 Apple 官方開發(fā)的IDE,支持C、C++、Objective-C、Swift 等,可以用來開發(fā) Mac OS X 和 iOS 上的應(yīng)用程序。Xcode 最初使用 GCC 作為編譯器,后來由于 GCC 的不配合,改用 LLVM/Clang。

雖然C語言的 IDE 眾多,但是C語言的絕大部分內(nèi)容在各個(gè) IDE 下都是通用的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134115
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    334

    瀏覽量

    46540
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1602

    瀏覽量

    48896

原文標(biāo)題:C語言編譯器和IDE的選擇

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    幾款C語言編譯器推薦

    一些剛開始接觸C語言編譯的網(wǎng)友想下載一款C語言編譯器來使用,不過,網(wǎng)絡(luò)上有不少
    發(fā)表于 09-05 09:19 ?1w次閱讀

    MasmEdit匯編語言編譯器

    MasmEdit匯編語言編譯器.rar
    發(fā)表于 02-24 14:15 ?54次下載

    EMC單片機(jī)C編譯器

    EMC單片機(jī)C編譯器   簡(jiǎn)單講,編譯器就是將“高級(jí)語言”翻譯為“機(jī)器語言(低級(jí)語言
    發(fā)表于 03-29 14:23 ?68次下載

    IccAVR C 編譯器的使用

    IccAVR C 編譯器的使用自 ATMEL 的AT90 系列單片機(jī)誕生以來有很多第三方廠商為AT90 系列開發(fā)了用于程序開發(fā)的C 語言工具ATMEL 公司推薦的第三方
    發(fā)表于 04-09 14:48 ?172次下載

    PSoC Creator IDE編譯器是cypress與K

    PSoC Creator IDE編譯器是cypress與Keil聯(lián)手推出  賽普拉斯半導(dǎo)體公司與ARM公司的工具部門Keil聯(lián)手,為其PSoC Creator™ IDE推出高性能
    發(fā)表于 03-04 11:19 ?1294次閱讀

    C語言編譯器

    電子發(fā)燒友網(wǎng)站提供《C語言編譯器.exe》資料免費(fèi)下載
    發(fā)表于 01-15 17:45 ?50次下載

    MPLAB IDE和簡(jiǎn)化版HI-TECH C PRO編譯器的詳細(xì)中文資料概述

    本文檔將介紹如何在 MPLAB? 集成設(shè)計(jì)環(huán)境 (Integrated Design Environment, IDE)中使用免費(fèi)的學(xué)生版 HI-TECH C? PRO 編譯器。
    發(fā)表于 06-13 10:27 ?0次下載
     MPLAB <b class='flag-5'>IDE</b>和簡(jiǎn)化版HI-TECH <b class='flag-5'>C</b> PRO<b class='flag-5'>編譯器</b>的詳細(xì)中文資料概述

    如何使用VS2013做C語言編譯器的創(chuàng)建方法詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用VS2013做C語言編譯器的創(chuàng)建方法詳細(xì)資料說明。前言,C語言是一個(gè) 歷史悠久的計(jì)算
    發(fā)表于 11-06 16:18 ?8次下載
    如何使用VS2013做<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編譯器</b>的創(chuàng)建方法詳細(xì)資料說明

    如何選擇PIC單片機(jī)的C編譯器

    PIC單片機(jī)的C編譯器只有HI-TECH公司出品PICC編譯器,和CCS公司的CCS編譯器。還有PIC的生產(chǎn)商Microchip公司自行生產(chǎn)的只針對(duì)PIC18/PIC24/dsPIC/
    發(fā)表于 03-29 14:09 ?5252次閱讀

    主流的C語言編譯器詳細(xì)介紹

    于Windows操作系統(tǒng)之外,主要用于Unix/Linux操作系統(tǒng)。像現(xiàn)在很多版本的Linux都默認(rèn)使用GCC作為C語言編譯器。而像FreeBSD、macOS等系統(tǒng)默認(rèn)使用LLVM Clang
    發(fā)表于 09-05 17:27 ?2次下載
    主流的<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編譯器</b>詳細(xì)介紹

    主流C語言編譯器的詳細(xì)資料介紹

    于Windows操作系統(tǒng)之外,主要用于Unix/Linux操作系統(tǒng)。像現(xiàn)在很多版本的Linux都默認(rèn)使用GCC作為C語言編譯器。而像FreeBSD、macOS等系統(tǒng)默認(rèn)使用LLVM Clang
    發(fā)表于 05-22 18:00 ?1次下載
    主流<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編譯器</b>的詳細(xì)資料介紹

    既然C編譯器C語言寫,那么第一個(gè)C編譯器是怎樣來的?

    既然C編譯器C語言寫的,那第一個(gè)C編譯器是怎樣來的?
    的頭像 發(fā)表于 02-25 15:47 ?2973次閱讀

    常見的C語言編譯器是什么

    常見的C語言編譯器是什么?大家一般都用的是什么軟件呢?
    的頭像 發(fā)表于 10-04 18:04 ?6133次閱讀

    VScode編譯器如何配置C/C++編譯環(huán)境

    昨天有伙伴私信我,為什么我用C語言寫的hello world幾行代碼,在編譯器里面報(bào)錯(cuò)了呢?
    的頭像 發(fā)表于 03-16 08:38 ?5453次閱讀

    C語言:嵌入式開發(fā)中的關(guān)鍵編譯器角色

    嵌入式程序開發(fā)跟硬件密切相關(guān),需要使用C語言來讀寫底層寄存、存取數(shù)據(jù)、控制硬件等,C語言和硬件之間由
    發(fā)表于 04-26 14:53 ?412次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>:嵌入式開發(fā)中的關(guān)鍵<b class='flag-5'>編譯器</b>角色