- 零基礎學C語言(第4版)
- 康莉 李寬
- 1473字
- 2020-06-17 18:23:08
1.5 C、C++、VC++的區別和開發環境
C、C++、VC++,這幾個語言名中都帶有C,可以說和C都有聯系。
1.C
C就是指C語言。C語言的關鍵字少,而且擁有豐富的運算符和數據類型,可以解決大部分的“計算型”的問題或者“描述型”的問題。各大操作系統都提供了各種對C語言的集成化的調試編譯環境,使用C語言編寫的程序可以輕松地運行在各種平臺上而不用做出任何修改,這也是C語言流行的原因。
2.C++
C++是另外一門與C語言語法類似的面向對象的高級語言。雖然C語言不加修改就可以被C++編譯器編譯,但C和C++是完全不同思想的兩種語言,不應將C++看成C的超集。
3.VC++
VC++,一般是指微軟公司的Visual Studio開發套件中的Visual C++開發環境。Visual Studio套件中包含了Visual C++、Visual Basic、Visual FoxPro等語言的開發環境。所謂開發環境,是集成了源代碼編輯、編譯、連接、調試等功能的一個綜合程序。
Visual C++就是一個很好的C或者C++開發環境。一般被簡稱為VC或者VC++。該開發環境提供了優秀的代碼編輯功能,同時提供了編譯連接程序,在該開發環境中,輸入完源代碼,可立即編譯運行,并且可以參照代碼進行調試。
現在Visual Studio已經發展到了Visual Studio 2019版本,相對于早期的Visual Studio 6.0有比較大的改變。筆者平時工作時,一般使用Visual Studio中的Visual C++開發工具,如圖1-4所示就是該環境的一個快照。

圖1-4 Visual C++編程環境
從圖中可以看到當前處于暫停(break)狀態,程序運行到“printf("\nPlease input a number(0-100):");”這條語句,當前的變量i_score的值是0。函數的調用過程是:
9.1.exe!main() Line 12 C++ 9.1.exe!mainCRTStartup() Line 259 + C
對上面提到的一些詞語不理解沒有關系,這里只是描述這個快照的情況,使讀者對集成的編程環境有個感性認識。等讀者有了一定的編程經驗后,再回頭來看就可以明白。
如圖1-1所示也是Visual Studio的一個快照,顯示的是匯編語言窗口。從圖1-1可以清楚地看到C語言被翻譯成的匯編語言以及其對應的機器語言。從圖1-1和圖1-4中可以看出,Visual Studio是一個比較方便的開發環境。從菜單上可以看到Build、Debug菜單項,顧名思義,Build就是編譯相關的菜單項,從中可以找到編譯需要的一些命令;Debug是調試的菜單項,從中可以看到調試的相關命令。
說明 可以在VC的這個開發環境中進行編譯、連接和運行。
對于編譯有專門的編譯程序,同樣,連接也有專門的程序,在Visual Studio的安裝目錄下面可以找到這些程序,而通過開發環境編譯連接的時候,由開發環境在后臺悄悄地去調用這些程序。從圖1-5中可以發現這些程序的藏身之處。其中,cl.exe就是微軟的編譯器,link.exe就是微軟的連接器,它們都可以單獨執行。cl.exe執行后的情況如圖1-6所示。

圖1-5 VC.net的編譯連接程序藏身之處

圖1-6 cl.exe執行后的情況
C語言于1987年被標準化,稱為ANSI C。由于不同軟件廠商都可以開發出自己的C語言編譯器,在推出的編譯器里,多多少少會增加自己的特性,這些特性被稱作語言擴展。但是這些編譯器都支持ANSI C。如果使用了其中的語言擴展,則在其他編譯器上就不能被正確編譯。為了不同編譯器都能編譯同一份源代碼,所以應盡量不使用各廠商的語言擴展功能。
所以說,VC++并不是一門語言,而是開發環境。一般來說,現在進行軟件開發,都是在集成的開發環境中進行的。當然,如果愿意,也可以單獨編輯源代碼,然后用命令行的方法編譯并連接程序。
4.其他編譯器及環境
Linux下面開發軟件主要使用GCC(GNU Compiler Collection,GNU編譯器集合),因為它免費。
Windows下面除VC++外,也還有不少其他的C語言開發環境,QT是一個由QT公司開發的跨平臺C/C++圖形用戶界面應用程序開發框架,Eclipse IDE for C/C++ Developers是一個基于Eclipse的C/C++開發環境,以上幾個開發環境適用于開發大型商業軟件,安裝包很大,除此以外還有很多適合初學者的C語言開發環境,Dev-C++是一個值得推薦的開發環境,因為它開源。Code::Blocks同樣也是開源的。LCC-Win32是免費的C語言小型編譯器,TCC是輕型C語言編譯器。
注意 本書使用Code::Blocks作為開發環境。
- 構建移動網站與APP:HTML 5移動開發入門與實戰(跨平臺移動開發叢書)
- Arduino開發實戰指南:LabVIEW卷
- PyTorch自然語言處理入門與實戰
- INSTANT MinGW Starter
- ASP.NET動態網頁設計教程(第三版)
- Python Geospatial Development(Second Edition)
- Java Web程序設計
- Effective Python Penetration Testing
- Node.js 12實戰
- RocketMQ實戰與原理解析
- 現代C:概念剖析和編程實踐
- JavaScript編程精解(原書第2版)
- H5+移動營銷設計寶典
- PHP Microservices
- Pandas 1.x Cookbook