在Windows下,可執行程序(Executable Program)大部分是 .exe 程序,它是一系列計算機指令和數據的集合。這些指令都是二進制形式的,CPU可以直接識別,毫無障礙;但是對于程序員,它們非常晦澀,難以記憶和使用。
計算機發展初期,程序員就是使用這些二進制形式的CPU指令來編寫程序的。
直接使用CPU指令編程對程序員來說簡直是噩夢,尤其是當程序比較大的時候,不但編寫麻煩,需要頻繁查詢指令手冊,而且除錯會異常苦惱,要直接面對一堆二進制數據,讓人眼花繚亂。另外,用CPU指令編程步驟繁瑣,要考慮各種邊界情況和底層問題,開發效率十分低下。這就倒逼程序員開發出了編程語言,提高自己的生產力;例如匯編、C語言、C++、Java、Python、Go語言等,都是在逐步提高開發效率。至此,編程終于不再是只有極客能做的事情了,不了解計算機的讀者經過一定的訓練也可以編寫出有模有樣的程序。
什么是編譯器
C語言代碼由固定的詞匯按照固定的格式組織起來,簡單直觀,程序員容易識別和理解,但是對于CPU,C語言代碼就是天書,根本不認識,CPU只認識幾百個二進制形式的指令。這就需要一個工具,將C語言代碼轉換成CPU能夠識別的二進制指令,也就是將代碼加工成 .exe 程序;這個工具是一個特殊的軟件,叫做編譯器(Compiler)。編譯器能夠識別代碼中的詞匯、句子以及各種特定的格式,并將他們轉換成計算機能夠識別的二進制形式,這個過程稱為編譯(Compile)。C語言的編譯器有很多種,不同的平臺下有不同的編譯器,例如:
Windows 下常用的是微軟開發的cl.exe,它被集成在 Visual Studio 或 Visual C++ 中,一般不單獨使用;
Linux 下常用的是 GUN 組織開發的GCC,很多 Linux 發行版都自帶 GCC;
Mac 下常用的是LLVM/Clang(以前是 GCC,后來由于 GCC 的不配合才改為 LLVM/Clang)。
你的代碼語法正確與否,編譯器說了才算,我們學習C語言,從某種意義上說就是學習如何使用編譯器,讓編譯器生成可執行程序(例如 Windows 下的 .exe 程序)。編譯器可以100%保證你的代碼從語法上講是正確的,因為哪怕有一點小小的錯誤,編譯也不能通過,編譯器會告訴你哪里錯了,便于你的更改。
選擇合適的IDE
實際開發中,除了編譯器是必須的工具,我們往往還需要很多其他輔助軟件,例如編輯器、調試器、文件管理等,這些工具通常被打包在一起,統一發布和安裝,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、Code::Blocks、C-Free 等,它們統稱為IDE(Integrated Development Environment,集成開發環境)。
01
Windows
Windows 下的 IDE 比較多,我推薦使用 Visual Studio 或者 Dev C++;如果你的操作系統是 XP 或者 Win7,你也可以使用 C-Free。另外,國內很多高校還在使用 Visual C++ 6.0,把它作為C語言教學的工具。① Visual C++ 6.0(簡稱VC 6.0)是微軟開發的一款經典的IDE,很多高校都以 VC 6.0 為教學工具來講解C和C++。但VC 6.0是1998年的產品,很古老了,在 Win7、Win8、Win10 下會有各種各樣的兼容性問題,甚至根本不能運行,所以不推薦使用。② Visual Studio(簡稱VS)是 Visual C++ 6.0 的升級版,增加了很多新特性,支持了更多的語言,是 Windows 下的標準 IDE,實際開發中大家也都在使用。不過 VS 有點龐大,安裝包有2~3G,下載不便,而且會安裝很多暫時用不到的工具,安裝時間在半個小時左右。為了適應最新的 Windows 操作系統,微軟每隔一段時間(一般是一兩年)就會對 VS 進行升級。VS 的不同版本以發布年份命名,例如 VS2010 是微軟于 2010 年發布的,VS2017 是微軟于 2017 年發布的。③ Dev C++ 是一款免費開源的 C/C++ IDE,內嵌 GCC 編譯器(GCC 編譯器的 Windows 移植版),是 NOI、NOIP等比賽的指定工具。Dev C++ 的優點是體積小(只有幾十兆)、安裝卸載方便、學習成本低,缺點是調試功能弱。
NOI 是National Olympiad in Informatics的縮寫,譯為“全國青少年信息學奧林匹克競賽”;NOIP 是National Olympiad in informatics in Provinces的縮寫,譯為“全國青少年信息學奧林匹克聯賽”。NOI、NOIP 都是奧林匹克競賽的一種,參加者多為高中生,獲獎者將被保送到名牌大學或者得到高考加分資格。
④ C-Free 是一款國產的 Windows 下的C/C++ IDE,最新版本是 5.0,整個軟件才 14M,非常輕巧,安裝也簡單,界面也比 Dev C++ 漂亮。C-Free 的缺點也是調試功能弱。可惜的是,C-Free 已經多年不更新了,組件都老了,只能在 XP、Win7 下運行,在 Win8、Win10 下可能會存在兼容性問題,所以我才重點推薦 Dev C++,否則我會更加傾向于 C-Free。
02
Linux
在 Linux 下使用GCC(GNU Compiler Collection,GNU編譯器套件)。GCC是GUN組織開發的自由軟件,除了支持C,還支持C++、Java、Objective-C等,它是Linux平臺編譯器的事實標準。
03
Mac OS X
在 Mac OS X 下使用 Xcode。Xcode 是由 Apple 官方開發的IDE,支持C、C++、Objective-C、Swift 等,可以用來開發 Mac OS X 和 iOS 上的應用程序。Xcode 最初使用 GCC 作為編譯器,后來由于 GCC 的不配合,改用 LLVM/Clang。
雖然C語言的 IDE 眾多,但是C語言的絕大部分內容在各個 IDE 下都是通用的。
-
C語言
+關注
關注
180文章
7605瀏覽量
136989 -
IDE
+關注
關注
0文章
338瀏覽量
46775 -
編譯器
+關注
關注
1文章
1634瀏覽量
49152
原文標題:C語言編譯器和IDE的選擇
文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論