青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

微塵--KeepMoving

為了忘卻的記憶
posts - 3, comments - 2, trackbacks - 0, articles - 13
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

(轉)Win32應用程序的加載與啟動分析

Posted on 2008-03-07 16:38 微塵 閱讀(689) 評論(0)  編輯 收藏 引用 所屬分類: Windows編程
 轉自 chenxixia 的 Blog

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=455591



設有一個Win32下的可執行文件MyApp.exe,這是一個Win32應用程序,符合標準的PE格式。MyApp.exe的主要執行代碼都集中在其源文件MyApp.cpp中,該文件第一個被執行的函數是WinMain。初學者會認為程序就是首先從這個WinMain函數開始執行,其實不然。

    在WinMain函數被執行之前,有一系列復雜的加載動作,還要執行一大段啟動代碼。運行程序MyApp.exe時,操作系統的加載程序首先為進程分配一個4GB的虛擬地址空間,然后把程序MyApp.exe所占用的磁盤空間作為虛擬內存映射到這個4GB的虛擬地址空間中。一般情況下,會映射到虛擬地址空間中0X00400000的位置。加載一個應用程序的時間比一般人所設想的要少,因為加載一個PE文件并不是把這個文件整個一次性的從磁盤讀到內存中,而是簡單的做一個內存映射,映射一個大文件和映射一個小文件所花費的時間相差無幾。當然,真正執行文件中的代碼時,操作系統還是要把存在于磁盤上的虛擬內存中的代碼交換到物理內存(RAM)中。但是,這種交換也不是把整個文件所占用的虛擬地址空間一次性的全部從磁盤交換到物理內存中,操作系統會根據需要和內存占用情況交換一頁或多頁。當然,這種交換是雙向的,即存在于物理內存中的一部分當前沒有被使用的頁也可能被交換到磁盤中。

    接著,系統在內核中創建進程對象和主線程對象以及其它內容。

    然后操作系統的加載程序搜索PE文件中的引入表,加載所有應用程序所使用的動態鏈接庫。對動態鏈接庫的加載與對應用程序的加載完全類似。

    再接著,操作系統執行PE文件首部所指定地址處的代碼,開始應用程序主線程的執行。首先被執行的代碼并不是MyApp中的WinMain函數,而是被稱為C Runtime startup code的WinMainCRTStartup函數,該函數是連接時由連接程序附加到文件MyApp.exe中的。該函數得到新進程的全部命令行指針和環境變量的指針,完成一些C運行時全局變量以及C運行時內存分配函數的初始化工作。如果使用C++編程,還要執行全局類對象的構造函數。最后,WinMainCRTStartup函數調用WinMain函數。

   WinMainCRTStartup函數傳給WinMain函數的4個參數分別為:hInstance、hPrevInstance、lpCmdline、nCmdShow。

    hInstance:該進程所對應的應用程序當前實例的句柄。WinMainCRTStartup函數通過調用GetStartupInfo函數獲得該參數的值。該參數實際上是應用程序被加載到進程虛擬地址空間的地址,通常情況下,對于大多數進程,該參數總是0X00400000。

    hPrevInstance:應用程序前一實例的句柄。由于Win32應用程序的每一個實例總是運行在自己的獨立的進程地址空間中,因此,對于Win32應用程序,WinMainCRTStartup函數傳給該參數的值總是NULL。如果應用程序希望知道是否有另一個實例在運行,可以通過線程同步技術,創建一個具有唯一名稱的互斥量,通過檢測這個互斥量是否存在可以知道是否有另一個實例在運行。

    lpCmdline:命令行參數的指針。該指針指向一個以0結尾的字符串,該字符串不包括應用程序名。

    nCmdShow:指定如何顯示應用程序窗口。如果該程序通過在資源管理器中雙擊圖標運行,WinMainCRTStartup函數傳給該參數的值為SW_SHOWNORMAL。如果通過在另一個應用程序中調用CreatProcess函數運行,該參數由CreatProcess函數的參數lpStartupInfo(STARTUPINFO.wShowWindow)指定。



 


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产精品一区| 欧美国产在线观看| 欧美日韩在线视频首页| 亚洲日本理论电影| 欧美激情视频在线播放| 麻豆国产va免费精品高清在线| 在线欧美一区| 欧美激情精品久久久久久免费印度 | 在线看片成人| 亚洲高清三级视频| 欧美激情久久久久久| 一区二区精品在线观看| 亚洲午夜av在线| 国内一区二区在线视频观看| 久热爱精品视频线路一| 女人香蕉久久**毛片精品| 99国产精品视频免费观看一公开| 日韩一区二区精品视频| 国产精品久久久久一区| 久久久精品一区| 美女视频黄免费的久久| 这里只有精品视频| 午夜精品久久久久久久蜜桃app| 精品成人久久| 一本久久综合| 激情小说亚洲一区| 亚洲精品视频免费在线观看| 国产女精品视频网站免费| 美乳少妇欧美精品| 国产精品jvid在线观看蜜臀 | 91久久极品少妇xxxxⅹ软件| 日韩一区二区福利| 一区精品久久| 亚洲男人天堂2024| 99精品欧美一区| 久久久99精品免费观看不卡| 亚洲午夜精品福利| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美另类久久久精品2019| 久久久久久综合| 午夜精品久久久久久久男人的天堂| 久久久夜夜夜| 欧美资源在线| 欧美性猛交xxxx乱大交蜜桃 | 性做久久久久久久久| 免费成人你懂的| 久久精品国产96久久久香蕉| 欧美日韩视频在线第一区| 美女久久一区| 国产一区二区三区免费在线观看| 一区二区三区国产在线观看| 亚洲国产清纯| 久久夜色精品国产噜噜av| 欧美中文字幕视频| 国产精品激情av在线播放| 欧美国产视频日韩| 黄网站色欧美视频| 久久成人一区| 久久久91精品国产| 国产精品夜色7777狼人| 中日韩高清电影网| 亚洲一级二级在线| 欧美日韩黄色一区二区| 亚洲国产你懂的| 亚洲精品免费看| 欧美精品18+| 亚洲欧洲在线免费| 亚洲美女精品一区| 欧美另类专区| 中文精品99久久国产香蕉| 99xxxx成人网| 国产精品久久国产精品99gif | 免费看的黄色欧美网站| 国产亚洲欧美色| 久久精品电影| 免费在线观看成人av| 伊人男人综合视频网| 久久综合九九| 亚洲激情一区二区| 一二三区精品| 国产精品久久久久久久久久久久| 亚洲性xxxx| 久久久青草婷婷精品综合日韩 | 欧美精品乱码久久久久久按摩| 亚洲国产成人精品久久久国产成人一区 | 欧美日韩免费高清| 一区二区高清在线| 先锋影院在线亚洲| 影音先锋久久| 欧美日韩国产一区二区三区地区| 日韩亚洲在线| 久久婷婷国产综合国色天香| 亚洲国产欧美日韩| 欧美日在线观看| 欧美在线观看视频在线| 欧美成人免费一级人片100| 亚洲精品日韩精品| 国产精品美女主播在线观看纯欲| 欧美在线首页| 亚洲精品久久久久久久久久久久久| 亚洲一二三级电影| 黑人一区二区| 欧美体内she精视频| 欧美在线二区| 亚洲毛片在线观看.| 久久久91精品国产一区二区精品| 亚洲人成网站777色婷婷| 国产精品v片在线观看不卡| 久久九九精品| 亚洲图片在区色| 亚洲电影在线| 久久久一本精品99久久精品66| 亚洲精品国偷自产在线99热| 国产女人aaa级久久久级| 欧美成人午夜77777| 亚欧成人在线| 亚洲婷婷国产精品电影人久久 | 在线亚洲成人| 在线观看欧美| 国产日韩在线一区二区三区| 欧美日韩成人综合| 久久久久久久久久久久久久一区| 亚洲视频中文| 91久久黄色| 欧美搞黄网站| 久久网站热最新地址| 欧美一区二区视频在线观看2020| 日韩小视频在线观看| 狠久久av成人天堂| 国产麻豆精品视频| 国产精品mv在线观看| 欧美日韩国内| 欧美日韩性视频在线| 免费成人性网站| 免费观看成人网| 久久男人资源视频| 午夜精品久久久久久久久| 亚洲一级二级| 亚洲影院在线观看| 亚洲一区二区三区四区五区午夜| 一区二区三区视频在线观看| 亚洲精品久久久久久久久久久久久| 欧美激情第一页xxx| 亚洲福利视频一区二区| 欧美成人一区二免费视频软件| 久久频这里精品99香蕉| 久久久免费观看视频| 久久久精彩视频| 久久香蕉国产线看观看av| 久久免费精品日本久久中文字幕| 久久这里只有| 欧美国产精品久久| 欧美成人综合网站| 欧美激情在线观看| 亚洲激精日韩激精欧美精品| 亚洲国产成人精品女人久久久| 亚洲丶国产丶欧美一区二区三区| 亚洲第一色在线| 91久久综合亚洲鲁鲁五月天| 亚洲伦理在线| 亚洲免费视频成人| 欧美在线观看一区| 玖玖视频精品| 欧美日韩一区二区在线播放| 国产精品成人观看视频国产奇米| 国产精品一区二区三区四区| 国产在线不卡精品| 在线成人av| 亚洲天堂av综合网| 性高湖久久久久久久久| 久久久久国产精品www| 欧美福利视频在线观看| 亚洲精品视频在线看| 亚洲欧美一区二区视频| 久久频这里精品99香蕉| 欧美另类在线观看| 国产日韩专区在线| 91久久精品日日躁夜夜躁国产| 国产精品99久久久久久有的能看| 久久国内精品视频| 亚洲国产成人91精品| 亚洲欧美日韩国产中文 | 日韩视频中午一区| 午夜视频精品| 欧美另类在线播放| 国内精品久久久久伊人av| 一本色道88久久加勒比精品 | 亚洲精品国产精品国自产在线 | 亚洲精品1234| 亚洲主播在线播放| 麻豆成人在线| 亚洲一区二区视频在线| 美女精品在线观看| 国产欧美日韩一区二区三区在线观看| 亚洲国产精品毛片| 欧美综合77777色婷婷| 亚洲国产欧美在线人成| 欧美一区高清| 国产精品网曝门| 99av国产精品欲麻豆|