亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

C語(yǔ)言編譯器和IDE的選擇之間的關(guān)系

時(shí)間:2024-09-05 05:34:14 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言編譯器和IDE的選擇之間的關(guān)系

  語(yǔ)言代碼由固定的詞匯按照固定的格式組織起來(lái),簡(jiǎn)單直觀,程序員容易識(shí)別和理解,但是對(duì)于CPU,C語(yǔ)言代碼就是天書,根本不認(rèn)識(shí),CPU只認(rèn)識(shí)幾百個(gè)二進(jìn)制形式的指令。以下是小編整理的C語(yǔ)言編譯器和IDE的選擇之間的關(guān)系,歡迎學(xué)習(xí)!

  什么是編譯器

  C語(yǔ)言代碼由固定的詞匯按照固定的格式組織起來(lái),簡(jiǎn)單直觀,程序員容易識(shí)別和理解,但是對(duì)于CPU,C語(yǔ)言代碼就是天書,根本不認(rèn)識(shí),CPU只認(rèn)識(shí)幾百個(gè)二進(jìn)制形式的指令。這就需要一個(gè)工具,將C語(yǔ)言代碼轉(zhuǎn)換成CPU能夠識(shí)別的二進(jìn)制指令,也就是將代碼加工成 .exe 程序;這個(gè)工具是一個(gè)特殊的軟件,叫做編譯器(Compiler)。

  編譯器能夠識(shí)別代碼中的詞匯、句子以及各種特定的格式,并將他們轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制形式,這個(gè)過(guò)程稱為編譯(Compile)。

  C語(yǔ)言的編譯器有很多種,Windows 下常用的是微軟開(kāi)發(fā)的 cl.exe,Linux 下常用的是GUN組織開(kāi)發(fā)的 GCC。

  你的代碼語(yǔ)法正確與否,編譯器說(shuō)了才算,我們學(xué)習(xí)C語(yǔ)言,從某種意義上說(shuō)就是學(xué)習(xí)如何使用編譯器,讓編譯器生成 .exe 程序。

  編譯器可以100%保證你的代碼從語(yǔ)法上講是正確的,因?yàn)槟呐掠幸稽c(diǎn)小小的錯(cuò)誤,編譯也不能通過(guò),編譯器會(huì)告訴你哪里錯(cuò)了,便于你的更改。

  選擇合適的IDE

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

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

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

  在Windows下,IDE的選擇是很糾結(jié)的事情:

  1) Visual C++ 6.0(簡(jiǎn)稱VC 6.0)是微軟開(kāi)發(fā)的一款經(jīng)典的IDE,很多高校都以 VC 6.0 為教學(xué)工具來(lái)講解C和C++。但VC 6.0是1998年的產(chǎn)品,很古老了,在Win7下有各種各樣的兼容性問(wèn)題,在Win8、Win10下根本不能運(yùn)行。

  2) Visual Studio(簡(jiǎn)稱VS)是 Visual C++ 6.0 的升級(jí)版,增加了很多特性,支持了更多的語(yǔ)言,非常龐大,安裝包有2~3G,下載不便,而且會(huì)安裝很多暫時(shí)用不到的工具,安裝時(shí)間在半個(gè)小時(shí)左右。

  另外,VS 安裝的組件眾多,不容易卸載干凈。如果你的計(jì)算機(jī)配置低,運(yùn)行Visual Studio還會(huì)吃力。

  3) C-Free、Dev C++、Code::Blocks 默認(rèn)使用MinGW(GCC編譯器的Windows版本)或者Cygwin(Windows平臺(tái)上運(yùn)行的Linux模擬環(huán)境),不是真實(shí)的Windows開(kāi)發(fā)環(huán)境,但它們小巧、容易安裝和卸載。

  在Windows下的大部分程序員都使用VS,不過(guò)考慮到初學(xué)者下載、安裝和運(yùn)行VS的成本,本教程約定:在Windows下使用C-Free來(lái)運(yùn)行C語(yǔ)言,必要時(shí)才講解VS或VC。

  好在C語(yǔ)言的絕大部分內(nèi)容是通用的,不針對(duì)具體的編譯器,各位讀者也可以放心使用 Dev C++、Code::Blocks 等其他IDE,它們都是大同小異的,相信你肯定能觸類旁通。

  C語(yǔ)言編譯器gcc命令如何操作步驟

  C語(yǔ)言的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到C語(yǔ)言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。

  Linux 系統(tǒng)中最重要的軟件開(kāi)發(fā)工具是 gcc,在 Linux 系統(tǒng)中,c89、cc 和 gcc 這些命令基本上都指向系統(tǒng)的C語(yǔ)言編譯器,通常是GNU C編譯器,或都簡(jiǎn)稱 gcc。在 UNIX 系統(tǒng)中,C 語(yǔ)言編譯器稱為 cc。實(shí)際上,gcc 能夠編譯三種語(yǔ)言:C、C++ 和 Object C(C 語(yǔ)言的一種面向?qū)ο髷U(kuò)展)。利用 gcc 命令可同時(shí)編譯并連接 C 和 C++ 源程序,一般來(lái)說(shuō),C 編譯器通過(guò)源文件的后綴名來(lái)判斷是 C 程序還是 C++ 程序。在 Linux 中,C 源文件的后綴名為 .c,而 C++ 源文件的后綴名為 .C 或 .cpp。對(duì)于 C++ 程序,gcc 命令只能編譯 C++ 源文件,而不能自動(dòng)和 C++ 程序使用的庫(kù)連接。因此,通常可以使用 g++ 命令來(lái)完成 C++ 程序的編譯和連接,該程序會(huì)自動(dòng)調(diào)用 gcc 實(shí)現(xiàn)編譯。本人一直都是在 Linux系統(tǒng)編譯 C程序的,就 gcc 命令行的作用記錄下來(lái)。

  首先通過(guò)編寫、編譯和運(yùn)行一個(gè) HelloWorld 程序?qū)嵗_(kāi)始

  一、源代碼

  /* hello.c */

  #include

  #include

  int main(void)

  {

  printf("Hello World!");

  return 0;

  }

  二、 編譯、鏈接和運(yùn)行程序

  #gcc -o hello hello.c

  #./hello

  Hello World!

  #

  命令選項(xiàng)的作用:

  1. -o Place the output into

  如:#gcc -o file file.c

  -o 告訴編譯器將可執(zhí)行程序放在何處,如果沒(méi)有指定文件名稱,編譯器則會(huì)把程序放在一個(gè)名為a.out的文件里(a.out的含義是 assembler output,即匯編輸出)。

  2. -c Compile and assemble, but do not link

  如:#gcc -c file.c

  -c 告訴編譯器僅把源代碼編譯為目標(biāo)模塊(file.o)而跳過(guò)匯編和連接的步驟。在使用-c生成目標(biāo)模塊后,就可以通過(guò)-o選項(xiàng)來(lái)生成可執(zhí)行文件。如:#gcc -o file file1.o file2.o 可以是多個(gè)目標(biāo)模塊。

  3. -l和-L

  指示編譯器程序要鏈接的庫(kù)。其中-L要增加庫(kù)的搜索路徑。如:hello.so動(dòng)態(tài)庫(kù)放在/usr/cprimer目錄下,那就是 -L/user/cprimer

  4. -O

  如:#gcc file.c -O2,

  用來(lái)優(yōu)化程序用的。優(yōu)化程序,執(zhí)行速度可能也有所提高,從未真正測(cè)試過(guò)。

  5. -include

  -include 告訴編譯器需要包含頭文件,但一般情況下包含頭文件都在源碼里用#include xxxxxx實(shí)現(xiàn),一般很少用這個(gè)選項(xiàng)。

【C語(yǔ)言編譯器和IDE的選擇之間的關(guān)系】相關(guān)文章:

C語(yǔ)言項(xiàng)目中.h文件和.c文件的關(guān)系詳解05-08

C語(yǔ)言和C++有什么關(guān)系09-23

C言語(yǔ)KEIL的ARM編譯器對(duì)RW和ZI段的處理07-30

淺談c語(yǔ)言和c++和VB的區(qū)別07-04

C語(yǔ)言函數(shù)的遞歸和調(diào)用08-22

C語(yǔ)言選擇結(jié)構(gòu)知識(shí)點(diǎn)10-22

C語(yǔ)言選擇排序算法及實(shí)例代碼07-25

C語(yǔ)言中的指針和內(nèi)存泄漏08-07

C語(yǔ)言中的BYTE和char字符08-06

C語(yǔ)言函數(shù)的參數(shù)和返回值09-14