官术网_书友最值得收藏!

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作為開發環境。

主站蜘蛛池模板: 三明市| 四平市| 四子王旗| 丹凤县| 朝阳市| 睢宁县| 巢湖市| 通河县| 仙居县| 凤台县| 屯门区| 班戈县| 淳化县| 嘉黎县| 班戈县| 广汉市| 霍邱县| 佛山市| 临海市| 霍州市| 镇安县| 阳新县| 武山县| 封开县| 乌审旗| 肥西县| 余庆县| 北辰区| 临沭县| 苍溪县| 江孜县| 台东市| 砚山县| 互助| 永定县| 彝良县| 定州市| 长岭县| 什邡市| 南华县| 河北区|