2007年9月29日 星期六

[轉貼]VISUAL C++與C++ Builder差異


C++builder與visual c++、c#以及c語言有什麼區別
C++ Builder
C++ Builder是由Borland公司 繼Delphi之後又推出的一款高性能可視化集成開發工具。C++ Builder具有快速的可視化開發環境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設置一下它的外觀,就可以快速地建立應用程序界面;C++ Builder內置了100多個完全封裝了Windows公用特性且具有完全可擴展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一個專業C++開發環境所能提供的全部功能:快速、高效、靈活的編譯器優化,逐步連接,CPU透視,命令行工具等。它實現了可視化的編程環境和功能強大的編程語言(C++)的完美結合。

C++ Builder優化的32位原碼(Native Code)編譯器建立在Borland公司久經考驗的編譯技術基礎之上,提供了高度安全性、可靠性、快速性的編譯優化方法,完全編譯出原始機器碼而非中間碼,軟件執行速度大大提高。在編譯和連接過程中,C++ Builder自動忽略未被修改的原代碼和沒有使用的函數,從而大大提高了編譯和連接速度。C++ Builder的CPU透視工具包括五個獨立的小面板,可以對正在運行程序從內部進行深層次的瞭解。另外C++ Builder還提供了一個專業開發環境所必需的命令行工具,以幫助建立C++程序或者準備編譯和連接的程序進行更精細的控制。

C++ Builder可以編譯所有符合ANSI/ISO標準的原代碼,支持最新ANSI C++/C語言特徵:模板(Templates)、例外(Exceptions)、運行類型信息(Runtime Type Information)、Namespaces等,另外它還可以使用標準C++庫且支持標準模板庫(STL),以前的所有C++/C原代碼可以不經過修改,直接移植到C++ Builder環境下來。C++ Builder完全支持32位長文件名、多線程程序設計,且允許程序員直接調用任何Win95和NT API函數。

C++ Builder的集成開發環境(IDE)提供了可視化窗體設計器、對像觀察器、控件板、工程管理器、集成編輯器和調試器等一系列可視化快速應用程序開發(RAD)工具,讓程序員可以很輕鬆地建立和管理自己的程序和資源。
____________________________________________________________________
Visual C++
Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0後,隨著其新版本的不斷問世,Visual C++已成為專業程序員進行軟件開發的首選工具。

雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應用的很大的局限性,只適用於Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平台。

Visual C++6.0不僅是一個C++編譯器,而且是一個基於Windows操作系統的可視化集成開發環境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調試器以及程序嚮導AppWizard、類嚮導Class Wizard等開發工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發環境。

Visual C++它大概可以分成三個主要的部分:

1. Developer Studio,這是一個集成開發環境,我們日常工作的99%都是在它上面完成的,再加上它的標題赫然寫著「Microsoft Visual C++」,所以很多人理所當然的認為,那就是Visual C++了。其實不然,雖然Developer Studio提供了一個很好的編輯器和很多Wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕後英雄後面會介紹。我們也知道,Developer Studio並不是專門用於VC的,它也同樣用於VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio當成Visual C++, 它充其量只是Visual C++的一個殼子而已。這一點請切記!

2. MFC。從理論上來講,MFC也不是專用於Visual C++,Borland C++,C++Builder和Symantec C++同樣可以處理MFC。同時,用Visual C++編寫代碼也並不意味著一定要用MFC,只要願意,用Visual C++來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,Visual C++本來就是為MFC打造的,Visual C++中的許多特徵和語言擴展也是為MFC而設計的,所以用Visual C++而不用MFC就等於拋棄了Visual C++中很大的一部分功能。但是,Visual C++也不等於MFC。

3. Platform SDK。這才是Visual C++和整個Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,Platform SDK是以Microsoft C/C++編譯器為核心(不是Visual C++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到Developer Studio沒有編譯程序的功能,那麼這項工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構成Visual Studio的基石。

____________________________________________________________________
c#
C#(讀做 "C sharp",中文譯音「夏普」)是微軟公司在去年六月發佈的一種新的編程語言,並定於在微軟職業開發者論壇(PDC)上登台亮相.C#是微軟公司研究員Anders Hejlsberg的最新成果.C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對像模型)是直接集成的,而且它是微軟公司.NET windows網絡框架的主角.

____________________________________________________________________
c語言
C語言是目前世界上流行、使用非常廣泛的高級程序設計語言。

C語言對操作系統和系統使用程序以及需要對硬件進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟件都是用C語言編寫的。

C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟件,三維,二維圖形和動畫它是數值計算的高級語言。

常用的編譯軟件有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......


C語言的發展歷史

C語言的發展頗為有趣。它的原型ALGOL 60語言。(也成為A語言)

1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。

1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。

1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。

而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BGPL的第二個字母作為這種語言的名字,這就是C語言。

為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。

1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。

1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標準,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標準研究所(ANSI)為C語言制定了一套ANSI標準, 成為現行的C語言標準 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些彙編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。

C語言的特點

1. 簡潔緊湊、靈活方便

C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以像彙編語言一樣對位、字節和地址進行操作, 而這三者是計算機最基本的工作單元。

2. 運算符豐富

C的運算符包含的範圍很廣泛,共有種34個運算符。C語言把括號、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。

3. 數據結構豐富

C的數據類型有:整型、實型、字符型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種複雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。

4. C是結構式語言

結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控制程序流向,從而使程序完全結構化。

5. C語法限制不太嚴格、程序設計自由度大

一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。

6. C語言允許直接訪問物理地址,可以直接對硬件進行操作

因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象彙編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟件。

7. C語言程序生成代碼質量高,程序執行效率高

一般只比彙編程序生成的目標代碼效率低10へ20%。

8. C語言適用範圍大,可移植性好

C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。

當然,C語言也有自身的不足,比如:C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數族下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。

總之,C語言既有高級語言的特點,又具有彙編語言的特點;既是一個成功的系統設計語言,有時一個使用的程序設計語言;既能用來編寫不依賴計算機硬件的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。
參考資料:http://baike.baidu.com/view/100377.html,http://baike.baidu.com/view/6590.html.http://baike.baidu.com/view/1219.htm
 

 
C++ Builder和Visual C++那個好學一點?
 
Turbo C++3.0,Visual C++6.0,Turbo C2.0分別是Borland,Microsoft,和***公司的產品
TC2.0基於DOS系統(界面),TC3.0和VC6.0是基於Windows系統(界面)
TC2.0不能是用鼠標(F10切換菜單欄與編輯區),TC3.0可以直接使用鼠標
就對C語言的編譯調試而言,什麼編譯器都是無所謂好與不好的,只用自己習慣的就對了
不同的編譯器在一些語法細節上會有些不同,也就是說,在一種編譯器上可以編譯運行的程序可能在另一種編譯器上就會報錯的哦
補充一下,還有C++ Builder和DEV C++編譯器
 
C++builder 6 比 vc++6 上手快,拖拖拉拉的就能作出一些窗體小程序
但畢竟都是表面的東西。
真正深入的話還是得學好c++這門語言,而不是哪個具體的IDE。

Visual C++, C++Builder, C++有什麼區別?
 
C++是一種語言
Visual C++是Ms的C++編譯器
C++ Builder是Borland出的C++編譯器
C++ Builder編寫界面比較容易 ,因為它有VCl
VC只能用SDK慢慢寫了
VC++穩定,實力強大(但不如C++BUILDER強)但開發軟件慢,效率差,而且超級難學,沒有很好的數學和英語你就別想了。C++ BUILDER實力強過VC++,容易學。
而且編程不用那麼麻煩,而且包括底層和桌面應用程序什麼都能開發,
但其實C++BUILDER和DELPHI更接近,而不是接近VC++因為VCL是用DELPHI的,
屬於控件C++開發平台。
缺點是查錯不好,幫助系統不好,向下不兼容(不知道新版更正沒有)
 
Visual C++是微軟的集成開發環境
C++ Builder是Borland公司的集成開發環境


Visual C++與c++ builder的差異?
 
●1.先說下兩者的背景和如何選擇:

C++,正宗的貝爾實驗室的C語言基礎上擴展了高級類而來,完全可以看做是C語言的升級版本,雖然由 Builder公司出品,但實際上 Builder公司只不過做了一個IDE而已,雖然和VC「那強大的功能」比起來有限簡陋,但實際上是把更大的空間留給了開發者,可以更自由的發揮,在物理層硬件開發領域,還是彙編和C的天下(注意這裡的C指的是C、C++,和VC沒什麼事,原因見下文),所以如果你是正規攻讀計算機技術,走正宗的C語言開發路線,那當然是選C++。

VC,VC全稱可視化C語言,是正宗C語言的另一個升級版本嗎?答案是否定的!VC只不過引用了傳統C語言的語法,而核心的構假和思想完全是MS的Windows,從所謂的控件、窗體、模塊、API、DLL、Active、IEO、WMPO等等,有哪一個是從C裡面擴展而來的?這些東西完全就是Windows系統的一部分!不妨再看MS的整個Visual系列產品,VB、VJ、VF,難道說真的都是Basic、Java、Foxpro的升級版嗎?當然不是!這些語言完全都是披了一個外皮,而裡面的核心和VC如出一轍!你見過開發Java的人用VJ的嗎?這也就是為什麼VB裡的API可以直接COPY在VC裡用;因為他們的核心構造本來就是同一個----windows!這也就是為什麼VC開發的東西只能在Windows裡運行,脫離了win,VC開發的東西就是一堆廢碼。而這一切說到最後,當然還是歸功於windows的壟斷了。。。當然這也正是MS的高明之處,開個玩笑MS也在貫徹「一次開發,處處可用」的政策^_^,對MS瞭解多了,你就會發現,MS的軟件就是在互相調用,Windows裡的DLL可以在VC\VB裡調用,Office也可以在VC\VB裡調用,IE可以,wmp也可以,只要是MS利用壟斷的產品,你都可以直接在VC裡調用,而不用你寫一行代碼。。。這也就是為什麼VC的功能那麼強大,直接調用系統組件,和系統共用一個API,,能不強大嗎,這也正是為什麼windows平台的殺毒軟件都是VC寫的。所以說,如果你想通過速成,短期內加入到windows平台軟件的開發大潮,那選VC絕對是個首選!

PS:微軟的這種做法,不知忽悠了多少入門者,直到現在都有很多人搞不清VC\VB到底是一個軟件還是一個語言,搞不清楚C++\VC\VC++倒底是什麼關係,這就是微軟玩的把戲。


●2.VC在遊戲設計上的優勢:

VC在遊戲開發上,除了上文提到的「天然」對系統的良好支持外,最大的優勢當然就是:

1、DirectX技術,目前兩大3D API之一,又加上windows系統的天然支持,想不用都不行。。。

2、海量的DLL庫支持,人家微軟把90%的代碼都幫你寫好了,你直接寫上10%的代碼來調用就行了,開發速度快,那個公司的老闆都願意。。
 
不是一個公司的產品,Visual Studio是微軟的C++ Builder是Borland的,兩者的區別主要在於微軟的Visual Studio越來越向網絡化和開發平台化發展,比如Visual Studio 2005就已經把VB,C#,J#,ASP之類的開發平台完全統一了,正在開發中的代號為Orcas的下一代Visual Studio的平台化更加明顯,而C++ Builder則是僅僅趨向於網絡化
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1 則留言:

匿名 提到...

купить электронные сигареты - курение среди молодые