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

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

LoadLibrary的路徑問題

有人說 反射反射,程序員的法寶。這句話一點也沒有錯。如果能夠動態的加載類和方法,就等于徹底的解除了類和類,方法和方法的耦合。

當然,這樣編譯器就無法幫你檢查出其中的錯誤了,還是有一定的風險的。

總的來說,反射是一位好同志。他可以讓程序的擴展變得如此方便,免除了重新編譯之苦。

 

近來在玩C++,被其中的種種細節問題搞得暈頭轉向。

LoadLibrary實現動態加載類,花了很多時間在dll的路徑問題上。

在傳入相對路徑時,文件的查找順序比較詭異,在XP sp2以后首先是系統目錄開始搜索,以前是首先從當前目錄開始搜索。微軟認為當前目錄是不安全的。所以如果很不巧你的System32下有一個同名的dll時,會造成dll版本的混亂。

解決這個問題,要改用LoadLibraryEx(path,NULL,LOAD_WITH_ALTERED_SEARCH_PATH);

另一種方法是先調用SetDllDirectory方法,將要設置的目錄會優先開始搜索。

 

以上兩種方法是權宜之計,最值得推薦的方法是用絕對路徑而不是相對路徑。要獲得絕對路徑就要知道當前程序的目錄。問題來了,怎么獲得當前目錄呢?

我當時是一拍腦袋,用了GetCurrentDirectory方法。用了才發現,得到的路徑并不穩定,有時候會得到莫名其妙的路徑,甚至在不同電腦上有不同的結果。

正確的解決方法麻煩了許多,要先AfxGetInstanceHandle()得出模塊句柄,然后得到當前模塊包含路徑的全名GetModuleFileName,最后通過字符串操作,去掉最后一個 / 后的內容,才得到當前路徑。

 

解決了這些問題,LoadLibrary路徑沒問題,得到結果卻是0GetLastError得到126,找不到指定的模塊。我和同事一致認為是dll的其他依賴缺失。用depends打開這個dll,所有依賴都沒問題啊,Why

后來我試著把dll和依賴放的滿磁盤到處都是,終于找出了問題所在:

我的程序主模塊app.exe和要加載的模塊 plugins/plgn1.dll不是在同一級目錄下,在用depends打開plgn1.dll時,會在當前目錄(/plugins/)下尋找其他依賴,這些依賴都在。

LoadLibrary加載的模塊 plugins/plgn1.dll時,他認為的當前路徑是相對主模塊app.exe來說的,是程序根目錄(/)而不是/plugins/,所以就找不到相關依賴,導致plgn1.dll加載失敗。

解決方法:SetDllDirectory方法,設置為plgn1.dll所在的絕對路徑。

 

posted on 2012-05-31 15:59 肥仔 閱讀(6742) 評論(0)  編輯 收藏 引用 所屬分類: Windows開發

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一级片在线观看| 宅男66日本亚洲欧美视频| 亚洲精品九九| 黄页网站一区| 国产伦精品一区二区三区高清 | 久久激情网站| 亚洲无人区一区| 亚洲国产精品尤物yw在线观看| 欧美在线视频网站| 亚洲五月六月| 亚洲视频久久| 99热在这里有精品免费| 亚洲国产高清高潮精品美女| 国产综合色精品一区二区三区| 国产精品盗摄久久久| 欧美日韩国产片| 欧美激情亚洲另类| 免费久久久一本精品久久区| 久久美女艺术照精彩视频福利播放| 亚洲欧美激情一区二区| 亚洲午夜日本在线观看| 亚洲调教视频在线观看| 亚洲精品国产精品国产自| 亚洲黄色毛片| 亚洲日本成人女熟在线观看| 亚洲高清影视| 欧美国产视频一区二区| 欧美国产日韩一二三区| 欧美成人一区二免费视频软件| 久久久久一区二区三区| 久久九九精品| 老司机精品久久| 欧美成人午夜免费视在线看片 | 欧美不卡视频一区| 欧美成人精品一区| 夜夜嗨av一区二区三区中文字幕| 亚洲一区免费看| 99re在线精品| 亚洲最快最全在线视频| 一本色道久久综合一区| 国产精品99久久久久久白浆小说| 中文在线不卡视频| 亚洲欧美日本日韩| 久久成人免费视频| 久久久女女女女999久久| 久久久久久久波多野高潮日日| 国产在线视频欧美| 国产精品乱人伦一区二区| 国产精品视频免费观看| 国产一区二区久久久| 在线观看一区视频| 日韩视频免费观看| 亚洲自拍偷拍网址| 久久精品网址| 欧美成人一区二区三区| 亚洲理伦在线| 亚洲欧美日韩专区| 麻豆精品一区二区综合av | 亚洲第一偷拍| 亚洲伦理久久| 欧美亚洲专区| 老司机精品福利视频| 91久久精品国产91久久性色| 一本大道久久a久久综合婷婷 | 亚洲日韩成人| 亚洲嫩草精品久久| 久久亚洲国产精品日日av夜夜| 亚洲二区在线观看| 亚洲综合丁香| 欧美freesex交免费视频| 国产精品男女猛烈高潮激情| 在线观看精品一区| 亚洲欧美日韩高清| 欧美va亚洲va香蕉在线| 在线亚洲高清视频| 久久噜噜噜精品国产亚洲综合| 欧美日韩精品免费观看| 韩国在线视频一区| 亚洲午夜一区| 欧美成人一区在线| 亚洲天堂网站在线观看视频| 亚洲国产91| 国产日韩欧美在线观看| 亚洲国产99精品国自产| 亚洲欧美韩国| 亚洲成人资源网| 亚洲新中文字幕| 免费看av成人| 韩日视频一区| 午夜影院日韩| 91久久精品网| 久久天堂成人| 国产精品最新自拍| 亚洲图片自拍偷拍| 亚洲电影在线| 久久久噜噜噜久噜久久| 国产九色精品成人porny| avtt综合网| 欧美成人激情视频| 欧美一区二区三区四区在线 | 亚洲午夜视频在线观看| 麻豆av福利av久久av| 亚洲综合色丁香婷婷六月图片| 欧美精品一区二| 亚洲国产成人av| 欧美一区二区精品久久911| 一区二区三区欧美视频| 久久精品国产一区二区三| 亚洲精品之草原avav久久| 久久久久久久999| 国产伦精品一区二区三区| 一本色道久久综合亚洲精品高清| 欧美一区午夜视频在线观看| 午夜亚洲福利在线老司机| 午夜精品久久久久久久久| 亚洲国产经典视频| 欧美在线一二三| 国内伊人久久久久久网站视频| 在线观看91精品国产入口| 亚洲欧美日本视频在线观看| 日韩一二在线观看| 欧美日韩伦理在线免费| 一本色道久久加勒比88综合| 亚洲国产成人在线播放| 久久尤物电影视频在线观看| 永久久久久久| 男女精品网站| 欧美 日韩 国产 一区| 亚洲国产精品va在线观看黑人| 免费美女久久99| 老鸭窝91久久精品色噜噜导演| 在线观看欧美精品| 欧美成人一区二区三区在线观看| 久久夜色精品国产欧美乱| 在线精品观看| 亚洲国产精品久久久| 欧美激情小视频| 一本色道久久综合狠狠躁篇怎么玩| 亚洲精品一区二区在线观看| 欧美日韩精品免费| 亚洲欧美日韩精品在线| 亚洲欧美在线一区| 国内综合精品午夜久久资源| 免费看成人av| 欧美国产高清| 日韩亚洲欧美中文三级| 日韩一区二区精品在线观看| 国产精品久久久久秋霞鲁丝| 久久精品99久久香蕉国产色戒| 久久精品免费播放| 亚洲电影成人| 99re在线精品| 国产一区二区三区四区五区美女| 久久夜精品va视频免费观看| 免费一级欧美在线大片| 亚洲一区二区精品在线| 午夜精品在线视频| 亚洲国产精品久久久久| 99在线|亚洲一区二区| 国产亚洲成精品久久| 欧美 日韩 国产 一区| 亚洲黄色免费| 国产精品亚洲不卡a| 久久av一区| 麻豆av一区二区三区久久| 亚洲毛片在线观看.| 亚洲一区二区三区高清| 国产综合自拍| 亚洲精品社区| 国产综合第一页| 亚洲精品看片| 国产在线播放一区二区三区| 亚洲激情国产| 国产一区二区久久| 亚洲精品在线免费| 国产日韩欧美高清免费| 久久综合电影一区| 欧美三级视频在线观看| 美女视频黄免费的久久| 欧美日精品一区视频| 浪潮色综合久久天堂| 欧美亚州一区二区三区| 欧美91福利在线观看| 国产精品亚洲激情| 亚洲激情一区| 伊人精品成人久久综合软件| 一本色道精品久久一区二区三区| 伊人久久综合| 亚洲永久在线| 一本色道久久综合亚洲精品不 | 日韩午夜三级在线| 亚洲一区二区三区成人在线视频精品| 亚洲国产日韩在线| 先锋影音久久| 亚洲在线播放| 欧美精品激情在线| 亚洲一区精彩视频| 女同性一区二区三区人了人一| 欧美日本在线视频| 免费欧美在线视频|