最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 學(xué)習(xí)之旅 Windows程序內(nèi)部運行原理

 更新時間:2012年11月01日 21:32:49   作者:  
學(xué)習(xí)C++與.net不同的是,一定要搞清楚Windows程序內(nèi)部運行原理,因為他所涉及大多數(shù)是操作系統(tǒng)的調(diào)用,而.net畢竟是在.netFrameWork上唱戲

學(xué)習(xí)C++與.net不同的是,一定要搞清楚Windows程序內(nèi)部運行原理,因為他所涉及大多數(shù)是操作系統(tǒng)的調(diào)用,而.net畢竟是在.netFrameWork上唱戲。

       那Windows應(yīng)用程序,操作系統(tǒng),計算機硬件之間的相互關(guān)系究竟什么了,下面的圖就給予很好的解釋。

      向下箭頭①是 應(yīng)用程序運行判斷處理的結(jié)果,輸出到輸出的設(shè)備。

      向上箭頭②是輸入設(shè)備,輸入到操作系統(tǒng)中。

      向下箭頭③代表API,我們要解釋以下API是什么。API是應(yīng)用程序接口, 表示應(yīng)用程序可以通知操作系統(tǒng)執(zhí)行某個具體的動作,如操作系統(tǒng)能夠控制聲卡發(fā)出聲音,但它并不知應(yīng)該何時發(fā)出何種聲音,需要應(yīng)用程序告訴操作系統(tǒng)該發(fā)出什么樣的聲音。這個關(guān)系好比有個機器人能夠完成行走的功能,但是,如果人們不告訴它往哪個方向上走,機器人是不會主動行走的。這里的機器人就是操作系統(tǒng),人們就是應(yīng)用程序。 對程序員來說,就可以理解為可以調(diào)用函數(shù)庫,C++程序員是對操作系統(tǒng)的同用。Java中調(diào)用的API是jdk中提供的函數(shù)庫,而。net程序員則是.netframework提供的函數(shù)庫。

     向上的箭頭④表示操作系統(tǒng)能夠?qū)⑤斎朐O(shè)備的變化上傳給應(yīng)用程序。如用戶在某個程序活動時按敲了一下鍵盤,操作系統(tǒng)馬上能夠感知到這一事件,并且能夠知道用戶按下的哪一鍵,操作系統(tǒng)并不決定對這一事件如何作出反應(yīng),而是將這一事件轉(zhuǎn)交給應(yīng)用程序,由應(yīng)用程序決定如何對這一事件作出反應(yīng)。好比有個司機開車看見前面遇到一輛車,我們的神經(jīng)末梢(相當(dāng)于操作系統(tǒng))馬上感知到這一事件,并傳遞給了我們的大腦(相當(dāng)于應(yīng)用程序),我們的大腦最終決定如何對這一事件作出反應(yīng),如將踩剎車,停下來,或是英勇撞上去(則是一個sb做法)。對事件作出反應(yīng)。

      操作系統(tǒng)是怎樣將感知到的事件傳遞給應(yīng)用程序的呢?這是通過消息機制(Message)來實現(xiàn)的。操作系統(tǒng)將每個事件都包裝成一個稱為消息的結(jié)構(gòu)體MSG來傳遞給應(yīng)用程序,參看MSDN。

MSG結(jié)構(gòu)定義如下:
typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG;的過程就是消息響應(yīng)。  

     其實,寫在這里,作為一個做過3年.net開發(fā)人員。我這里有感而發(fā),C++是如此,.net事件響應(yīng)的機制。何嘗不是一個消息機制。 消息機制,是程序界一大質(zhì)的飛躍,而也是這種消息機制,把.net程序員的控件封裝太死, 也造就一大批只能拖控件的程序員。 我學(xué)了C++還是真的有一種豁然開朗的感覺。.net程序員,還是多看點C++吧!

相關(guān)文章

  • C++實現(xiàn)快捷店會員管理系統(tǒng)

    C++實現(xiàn)快捷店會員管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)快捷店會員管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++類中的特殊成員函數(shù)示例詳解

    C++類中的特殊成員函數(shù)示例詳解

    這篇文章主要給大家介紹了關(guān)于C++類中特殊成員函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • C++實現(xiàn)單例模式的方法

    C++實現(xiàn)單例模式的方法

    這篇文章主要為大家介紹了C++實現(xiàn)單例模式的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 一篇文章帶你了解C語言函數(shù)遞歸

    一篇文章帶你了解C語言函數(shù)遞歸

    這篇文章主要為大家詳細(xì)介紹了C語言函數(shù)遞歸,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C++ push方法與push_back方法常見方法介紹

    C++ push方法與push_back方法常見方法介紹

    push與push_back是STL中常見的方法,都是向數(shù)據(jù)結(jié)構(gòu)中添加元素,本文還將簡述push對應(yīng)的stack與queue系列,常見方法的介紹,以及與push_back相對應(yīng)的vector系列常見方法介紹,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • C++靜態(tài)持續(xù)變量介紹

    C++靜態(tài)持續(xù)變量介紹

    這篇文章主要介紹了 C++靜態(tài)持續(xù)變量,靜態(tài)持續(xù)變量的定義C++和C語言是一樣的,它擁有三種鏈接性,即外部鏈接性、內(nèi)部連接性和無鏈接性。其中外部鏈接性指的是可以在其他文件中訪問,內(nèi)部鏈接性指的是只能在當(dāng)前文件訪問,需要的朋友可以參考一下
    2021-11-11
  • C語言實現(xiàn)個人財務(wù)管理軟件

    C語言實現(xiàn)個人財務(wù)管理軟件

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)個人財務(wù)管理軟件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • c++ 編程 幾個有用的宏詳解

    c++ 編程 幾個有用的宏詳解

    下面小編就為大家?guī)硪黄猚++ 編程 幾個有用的宏詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言 哈希查找詳解(哈希表的創(chuàng)建、處理沖突、查找等)

    C語言 哈希查找詳解(哈希表的創(chuàng)建、處理沖突、查找等)

    哈希表是一種非常重要的數(shù)據(jù)結(jié)構(gòu),并在大量的計算機科學(xué)和工程應(yīng)用中發(fā)揮重要作用,了解哈希表的原理和實現(xiàn)方式,將有助于我們更好地理解這個數(shù)據(jù)結(jié)構(gòu)及如何應(yīng)用它來解決實際問題,這篇文章主要介紹了C語言 哈希查找(哈希表的創(chuàng)建、處理沖突、查找等),需要的朋友可以參考下
    2024-01-01
  • 深入解讀C++中的指針變量

    深入解讀C++中的指針變量

    這篇文章主要介紹了深入解讀C++中的指針變量,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09

最新評論

夏邑县| 灵丘县| 旬邑县| 北辰区| 松江区| 兴文县| 蒙城县| 天峨县| 香河县| 海城市| 嵩明县| 曲松县| 和田市| 嘉鱼县| 商南县| 石嘴山市| 鄯善县| 西吉县| 长沙市| 平陆县| 呼伦贝尔市| 银川市| 汪清县| 渑池县| 香河县| 宁德市| 武汉市| 沿河| 和田市| 天台县| 岫岩| 天水市| 象山县| 隆德县| 河源市| 南昌市| 当阳市| 平陆县| 长汀县| 明溪县| 托里县|