• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            天空之城
            new,think,program,happy to live
            posts - 39,comments - 39,trackbacks - 0
            HANDLE ?
            ? ? ? ? ? 這其實是一個UINT(隨便提一下,初學者往往對VC代碼中各種古怪的符號、類型標記/宏等百思不得其解,其實它們大多來自基本類型的#define或者typedef,請將光標移到這些符號上(譬如HANDLE),然后按下F12,編譯器自會把你帶到它的聲明處,反復使用幾次,你終會見到它的原貌,然后長吁一口氣:原來不過如此而已。沒用過的初學者請牢記:F12)。很多初學者把HANDLE與指針的理解混淆,總想知道一個HANDLE代表一個什么對象,我的建議是不要去理解為是某對象的指針,而就是理解為一個整數索引(事實上也是),就好像一個數組的下標一樣。Windows系統核心中主要是幾張大表,這樣一個整數索引就是標記目標(窗口、線程、某DC資源等)在這個表中的位置,供操作系統訪問時查詢用。 ?
            ? ?
            ? DLL ?
            ? ? ? ? ? DLL的一個特點就是可以動態加載(顧名思義),即在主程序(我更喜歡稱為客戶程序)需要該模塊時才由操作系統加載到內存。畢竟一個大型應用程序我們經常使用到的功能并不多,這樣一些不常用的功能模塊(DLL)在程序運行時一般將不被載入,極大地節省了內存開銷。DLL同時也是目前最常用的分發模塊的方法,便于彼此協作。程序中對DLL的調用主要有兩種方法:1 ? 針對使用DEF文件導出函數的DLL,使用API函數LoadLibrary(“DLLModuleName")加載,然后使用GetProcAddress()得到函數指針,進而調用 ? ? 2當DLL編譯選項被設為“MFC擴展DLL”時,可以直接將類、函數等導出,客戶程序使用同一份頭文件聲明,加入對應的lib鏈接庫,即可在客戶程序中直接使用DLL中的類或函數,無需LoadLibrary。 ? 注:關于DLL的三種形式(普通,MFC ? DLL,MFC ? 擴展DLL)的區別我一時拿不真切,往知情者為我修正補全。

            關于"進程\線程",在這里我談一些我個人的體會和理解作為補充,準確定義請參考操作系統權威書籍 ?
            ? ?
            ? Process ? 進程 ?
            ? ? ? ? ? 進程不是一個靜態概念,所以它也不是"運行的程序的實體",進程是一個動態的概念,包括從進程的創建申請,PCB(Process ? Control ? Block進程控制塊,一般操作系統實現為一個表格)的創建,地址空間的內存分配,模塊代碼載入并執行,執行完以后進行撤銷,整個過程被稱為"進程"。在Win32下,一個進程有4G的邏輯空間。 ?
            ? ?
            ? Thread ? 線程 ?
            ? ? ? ? ? 為了更有效的提高CPU的利用率,更好地實現多任務并發,微軟將進程進行進一步分割,實現了CPU任務調度的最小單位:線程。一個進程擁有至少一個線程。我們在實現多任務并發的時候通常是建立一個線程(建立線程的系統開銷要小于進程),線程是以我們自己的一個函數作為入口,函數執行完畢自動撤銷(當然你也可以在執行過程中強制結束該線程)。順便提一下,在UNIX下并沒有線程這個概念,想來是因為UNIX主要是以多進程的并發服務為主(所以它更適合于做服務器),系統運行時通常已經有了太多的進程,所以沒有必要再對進程進行細化,因為這樣做甚至會降低系統效率(CPU調度不過來),當然,這是我個人的猜想:)
            posted on 2006-05-14 12:49 太極虎~宏 閱讀(112) 評論(0)  編輯 收藏 引用
            精品伊人久久大线蕉色首页| 久久国产乱子伦免费精品| 国産精品久久久久久久| 色悠久久久久久久综合网| 久久丫忘忧草产品| 国内精品人妻无码久久久影院 | 久久久久国产一区二区| 久久夜色精品国产噜噜亚洲a| 亚洲中文久久精品无码| 国产激情久久久久影院老熟女免费| 亚洲天堂久久久| 婷婷久久综合九色综合98| 久久精品国产乱子伦| 99久久精品无码一区二区毛片 | 欧美日韩精品久久久免费观看| 久久丫精品国产亚洲av不卡| 国产精品嫩草影院久久| 日韩av无码久久精品免费| 亚洲国产日韩欧美久久| 国产精品欧美久久久久无广告| 亚洲人成网亚洲欧洲无码久久| 久久涩综合| 久久久久国产成人精品亚洲午夜| 久久精品亚洲日本波多野结衣| 无码国内精品久久综合88| 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 久久夜色精品国产噜噜麻豆| 一级做a爰片久久毛片看看| 精品国产一区二区三区久久蜜臀| 99久久这里只有精品| 久久天天躁狠狠躁夜夜96流白浆| 中文精品久久久久人妻不卡| 麻豆精品久久久久久久99蜜桃| 亚洲精品无码久久久| 亚洲国产精品无码久久九九 | 性欧美丰满熟妇XXXX性久久久 | 久久夜色精品国产噜噜亚洲AV| 伊人久久大香线蕉av不卡| 无码人妻久久久一区二区三区| 久久精品中文无码资源站| 久久精品国产色蜜蜜麻豆|