vc和MFC的詳細歷史

2021-09-01 17:59:34 字數 2459 閱讀 9018

visualc++ 1.0:c++編譯器的終結者

唯技術」思想有時能使陷入一種困境,作為一種程式設計工具(也可以認為是一種技術),visual c++經歷了許多風波和變革,但縱觀目前幾乎所以有書籍和文章,很少對這種技術進行「跳出圈外」的思考,這也使我寫這篇文章感到無源的苦惱。細想之後,也頗為感慨,願借此文以激眾家之思!

visual c++的發展與c/c++語言、windows的歷程是分不開的。

在c語言推出之前,作業系統等系統軟體主要是用組合語言編寫的(如unix作業系統)。由於組合語言依賴於計算機硬體,因此程式的可移植性和可讀性就比較差。為了提高程式的可讀性和可移植性,並能實現組合語言的某些功能(如組合語言可以直接對硬體進行操作、對記憶體位址進行操作和位操作等)。於是,c語言便應運而生了。

最初的c語言只是為描述和實現unix作業系統而提供的一種程式語言。2023年,貝爾實驗室的k.thompson和d.m.ritchie兩人合作把unix的90%以上的**用c語言改寫(即unix第五版)。後來c語言又作了多次改進,2023年以後,c語言已先後移植到大、中、小及微型機上,現在c語言已成為風靡全球的計算機程式語言。

到了80年代,美國at&t貝爾實驗室的bjarne stroustrup在c語言的基礎上推出了c++程式語言。由於c++提出了把資料和在資料之上的操作封裝在一起的類、物件和方法的機制,並通過派生、繼承、過載和多型性等特徵,實現了人們期待已久的軟體復用和自動生成。這使得軟體,特別是大型複雜軟體的構造和維護變得更加有效和容易,並使軟體開發能更自然地反映事物的本質,從而大大提高了軟體的開發效率和質量。

在c/c++發展過程中,c/c++的開發工具也是發展迅速。

早期的程式設計師仍然不會忘記turbopascal的整合開發環境ide的魅力,ide能使編輯器和編譯器共同工作,在編輯器中寫下源**,使用compile(編譯)命令來啟動編譯器,當編譯器發現錯誤時,它將編輯游標定位到出錯語句處,以便於改正。ide為程式開發提供乙個整體環境。

c語言產生後,turbo pascal發行了turbo c,microsoft相應地推出quick c。雖然quick c和turbo c給c程式設計引進許多內容,但卻沒有對開發者產生永久性的影響(儘管turbo c目前仍被用於現行教學中),其主要原因是二者的編輯器都不怎麼好(quick c編輯器後來合併到microsoft quick basic中,現在它作為dos編輯器edit.com仍存在於microsoft windows 95中),其次,dos下ide佔據大量記憶體,使程式執行空間變得很小。

編輯器之爭

visualc++ 1.0:c++編譯器的終結者

唯技術」思想有時能使陷入一種困境,作為一種程式設計工具(也可以認為是一種技術),visual c++經歷了許多風波和變革,但縱觀目前幾乎所以有書籍和文章,很少對這種技術進行「跳出圈外」的思考,這也使我寫這篇文章感到無源的苦惱。細想之後,也頗為感慨,願借此文以激眾家之思!

visual c++的發展與c/c++語言、windows的歷程是分不開的。

在c語言推出之前,作業系統等系統軟體主要是用組合語言編寫的(如unix作業系統)。由於組合語言依賴於計算機硬體,因此程式的可移植性和可讀性就比較差。為了提高程式的可讀性和可移植性,並能實現組合語言的某些功能(如組合語言可以直接對硬體進行操作、對記憶體位址進行操作和位操作等)。於是,c語言便應運而生了。

最初的c語言只是為描述和實現unix作業系統而提供的一種程式語言。2023年,貝爾實驗室的k.thompson和d.m.ritchie兩人合作把unix的90%以上的**用c語言改寫(即unix第五版)。後來c語言又作了多次改進,2023年以後,c語言已先後移植到大、中、小及微型機上,現在c語言已成為風靡全球的計算機程式語言。

到了80年代,美國at&t貝爾實驗室的bjarne stroustrup在c語言的基礎上推出了c++程式語言。由於c++提出了把資料和在資料之上的操作封裝在一起的類、物件和方法的機制,並通過派生、繼承、過載和多型性等特徵,實現了人們期待已久的軟體復用和自動生成。這使得軟體,特別是大型複雜軟體的構造和維護變得更加有效和容易,並使軟體開發能更自然地反映事物的本質,從而大大提高了軟體的開發效率和質量。

在c/c++發展過程中,c/c++的開發工具也是發展迅速。

早期的程式設計師仍然不會忘記turbopascal的整合開發環境ide的魅力,ide能使編輯器和編譯器共同工作,在編輯器中寫下源**,使用compile(編譯)命令來啟動編譯器,當編譯器發現錯誤時,它將編輯游標定位到出錯語句處,以便於改正。ide為程式開發提供乙個整體環境。

c語言產生後,turbo pascal發行了turbo c,microsoft相應地推出quick c。雖然quick c和turbo c給c程式設計引進許多內容,但卻沒有對開發者產生永久性的影響(儘管turbo c目前仍被用於現行教學中),其主要原因是二者的編輯器都不怎麼好(quick c編輯器後來合併到microsoft quick basic中,現在它作為dos編輯器edit.com仍存在於microsoft windows 95中),其次,dos下ide佔據大量記憶體,使程式執行空間變得很小。

編輯器之爭

VC 下WIN窗體和MFC窗體的區別

winform 是基於託管c 的,程式設計效率高,開發程式簡單方便,但需要.net支援。且計算機開機後首次執行需要.net支援的程式時需要載入.net執行庫,啟動速度較慢。mfc在進行設定後就可以生成只需要windows xp以下系統自帶的動態庫就可以執行了,相當於綠色軟體。win窗體 form 是...

VC 使用MFC的陣列類

使用mfc的陣列類 mfc 的陣列類支援的陣列類似於c 中的常規陣列,可以存放任何資料型別。c 的常規陣列在使用前必須將其定義成能夠容納所有可能需要的元素,而mfc陣列 類建立的物件可以根據需要動態地增大或減小,陣列的起始下標是0,而上限可以是固定的,也可以隨著元素的增加而增加,陣列在記憶體中的位址...

MFC常用的類詳細介紹

常用的mfc類 cruntimeclass結構 在cruntimeclass結構中定義了類名 物件所佔儲存空間的大小 類的版本號等成員變數及動態建立物件 派生關係判斷等成員函式。每乙個從cobject類派生的類都有乙個cruntimeclass結構同它關聯,以便完成在執行時得到物件的資訊或基類的資訊...