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

逛奔的蝸牛

我不聰明,但我會(huì)很努力

   ::  :: 新隨筆 ::  ::  :: 管理 ::
轉(zhuǎn)自: http://blog.163.com/xjchilli/blog/static/45347739200951013454647/
通常我們?cè)谡{(diào)用DLL時(shí)所需的DLL文件必須位于以下三個(gè)目錄之一:
  (1)Windows的系統(tǒng)目錄:\windows\system;
  (2)DOS中path所指出的任何目錄;
  (3)程序所在的目錄。
  一、動(dòng)態(tài)鏈接庫(kù)的結(jié)構(gòu)

  動(dòng)態(tài)鏈接庫(kù)中定義有兩種函數(shù):導(dǎo)出函數(shù)(export function)和內(nèi)部函數(shù)(internal function),
導(dǎo)出函數(shù)可以被其它模塊調(diào)用,內(nèi)部函數(shù)只能在庫(kù)內(nèi)部使用。我們?cè)谟肅++定制動(dòng)態(tài)庫(kù)文件時(shí),
需要編寫(xiě)的就是包含導(dǎo)出函數(shù)表的模塊定義文件(.DEF)和實(shí)現(xiàn)導(dǎo)出函數(shù)功能的C++文件。下面以
Sample.dll為例介紹DEF文件和實(shí)現(xiàn)文件的結(jié)構(gòu)。
  1.模塊定義文件(.DEF)是一個(gè)或多個(gè)用于描述DLL屬性的模塊語(yǔ)句組成的文本文件,每個(gè)DEF文
件至少必須包含以下模塊定義語(yǔ)句:
   ·第一個(gè)語(yǔ)句必須是LIBRARY語(yǔ)句,指出DLL的名字;
   ·EXPORTS語(yǔ)句列出被導(dǎo)出函數(shù)的名字;
   ·可以使用DESCRIPTION語(yǔ)句描述DLL的用途(此句可選);
   ·";"對(duì)一行進(jìn)行注釋(可選)。
  2.實(shí)現(xiàn)文件
   實(shí)現(xiàn)入口表函數(shù)的cpp文件中,包含DLL入口點(diǎn)處理的API函數(shù)和導(dǎo)出函數(shù)的代碼。
  二、創(chuàng)建Sample.dll
   1.首先創(chuàng)建Sample.dll的工程,啟動(dòng)VC++5.0按以下步驟生成DLL工程:
   ·在選單中選擇File\New\Project;
   ·在工程列表中選擇Win32 Dynamic-Link Library;
   ·在Project Name中輸入工程名:Sample;
   ·單擊Location右邊按鈕,選擇c:\sample目錄;
   ·單擊OK完成,至此已創(chuàng)建了Sample.dll的工程文件。
  2.創(chuàng)建Sample.def文件:
   ·在選單中選擇File\New\Text File;
   ·輸入以下代碼后保存文件名"Sample.def":
   ;Sample.def
   ;指出DLL的名字Sample,鏈接器將這個(gè)名字放到DLL導(dǎo)入庫(kù)中
   LIBRARY Sample
   ;定義導(dǎo)出函數(shù)ShowMe()為例

   EXPORTS
   ShowMe
   ;def文件結(jié)束
  3.創(chuàng)建Sample.cpp
   .在選單中選擇File\New\C++ Source File項(xiàng)
   .輸入以下代碼后保存文件名"Sample.cpp"
   //Sample.cpp
   #include 〈windows.h〉
   int ShowMe(void);
   //DllEntryPoint為DLL入口點(diǎn)函數(shù),負(fù)責(zé)初試化并終止DLL
   BOOL WINAPI DllEntryPoint(HINSTANCE hDLL,DWORD dwReason,LPVOID Reserved)
   { switch(dwReason)
   { case DLL-PROCESS-ATTACH:
   { break; }
   case DLL-PROCESS-DETACH:
   { break; } }
   return TRUE; }
   int ShowMe(void)
   { //蜂鳴器響一下
   MessageBeep((WORD)-1);
   MessageBox("你好!");
   return 1; }
  4.編譯DLL文件
  從Build選單中選擇Build Sample.DLL,產(chǎn)生Sample.DLL文件,以后就可以隨時(shí)調(diào)用了。
  三、在應(yīng)用程序中調(diào)用DLL文件
  在應(yīng)用程序中要首先裝入DLL后才能調(diào)用導(dǎo)出表中的函數(shù),例如用MFC創(chuàng)建基于對(duì)話框的工
程Test,并在對(duì)話框上放置"Load"按鈕,你就必須添加裝載代碼。
  1.首先在TestDlg.cpp的首部添加變量設(shè)置代碼:
  //設(shè)置全局變量gLibSample用于存儲(chǔ)DLL句柄
  HINSTANCE gLibSample=NULL;
  //第二個(gè)變量ShowMe是指向DLL庫(kù)中ShowMe()函數(shù)的指針
  typedef int( SHOWME)(void);

  SHOWME ShowMe;
  2.利用ClassWizard為"Load"按鈕添加裝載DLL的代碼:
  Void CTestDlg::OnLoadButton()
  { //要添加的代碼如下
   if(gLibMyDLL!=NULL)
   { MessageBox("The Sample.DLL has already been load.");
   return; }
   //裝載Sample.dll,未加路徑,將在三個(gè)默認(rèn)路徑中尋找
   gLibSample=LoadLibrary("SAMPLE.DLL");
   //返回DLL中ShowMe()函數(shù)的地址
   ShowMe=(SHOWME)GetProcAddress(gLibSample,"ShowMe"); }
  3.只要DLL裝載成功,在應(yīng)用程序中就可以直接調(diào)用ShowMe()函數(shù)(本程序在Windows 95,VC++5.0中運(yùn)行通過(guò))。
posted on 2009-08-29 08:46 逛奔的蝸牛 閱讀(4962) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Qt
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩成人一区| 国产精品一区一区| 欧美成人国产一区二区| 久久综合久久美利坚合众国| 欧美啪啪成人vr| 欧美视频一区二| 亚洲国产精品成人久久综合一区| 一区二区在线视频| 亚洲一区二区精品在线| 欧美第一黄网免费网站| 亚洲欧美日韩综合国产aⅴ| 欧美日韩亚洲视频一区| 亚洲精品免费网站| 亚洲精品一区二区三区在线观看 | 欧美成人dvd在线视频| 久久av红桃一区二区小说| 国产精品社区| 久久精品视频免费| 久久久91精品| 亚洲国产成人在线播放| 免费在线观看一区二区| 欧美不卡视频| 亚洲一区二区三区中文字幕| 亚洲午夜精品久久久久久浪潮| 国产精品红桃| 久久精品99久久香蕉国产色戒| 欧美伊人久久久久久久久影院 | 欧美大片在线看| 欧美刺激午夜性久久久久久久| 亚洲乱码精品一二三四区日韩在线| 欧美二区在线| 欧美激情综合在线| 午夜精品久久久久久久99樱桃| 午夜精品美女自拍福到在线 | 麻豆成人综合网| 欧美69视频| 欧美日韩日韩| 亚洲欧美日韩国产一区| 先锋影院在线亚洲| 影音先锋日韩精品| 亚洲另类在线一区| 国产色婷婷国产综合在线理论片a| 久久久欧美精品sm网站| 欧美激情四色| 久久精品国产一区二区三区免费看| 久久午夜羞羞影院免费观看| 亚洲先锋成人| 久久在线免费| 欧美在线免费播放| 欧美激情第1页| 久久精品国内一区二区三区| 欧美国产一区在线| 久久黄色影院| 欧美日韩在线大尺度| 久久在线视频| 国产精品久久国产精麻豆99网站| 美女尤物久久精品| 国产精品午夜av在线| 亚洲高清色综合| 国产精品一区久久久久| 欧美激情影院| 国产婷婷成人久久av免费高清| 亚洲激情啪啪| 欧美11—12娇小xxxx| 亚洲欧美激情在线视频| 欧美在线一二三四区| 国产乱码精品一区二区三| 一区二区三区四区在线| 国产午夜一区二区三区| 欧美一区二区三区视频免费播放| 99视频在线精品国自产拍免费观看 | 久久久久中文| 欧美日韩三级电影在线| 美女成人午夜| 国产一区白浆| 亚洲欧美不卡| 午夜激情久久久| 欧美色图首页| 亚洲人人精品| 亚洲肉体裸体xxxx137| 久久久久久成人| 久久久久中文| 国产婷婷色一区二区三区四区 | 国产精品视频99| 亚洲最快最全在线视频| 亚洲国产精品悠悠久久琪琪| 欧美在线高清| 久久久人成影片一区二区三区| 国产精品你懂的在线欣赏| 一区二区三区国产盗摄| 亚洲网站在线看| 欧美日韩一区成人| 亚洲日本理论电影| 夜夜嗨av一区二区三区| 欧美成人免费播放| 精品1区2区| 久久久国产一区二区| 久久久久久免费| 精品1区2区| 欧美a级一区| 亚洲美女视频网| 午夜国产精品视频免费体验区| 国产精品露脸自拍| 亚洲一区二区av电影| 久久成人免费电影| 在线不卡a资源高清| 久久午夜影视| 亚洲黄一区二区三区| 亚洲私拍自拍| 国产视频欧美视频| 久久深夜福利免费观看| 欧美激情影院| 亚洲免费视频在线观看| 国产日韩欧美一区二区| 久久麻豆一区二区| 亚洲欧洲另类国产综合| 亚洲男女自偷自拍图片另类| 国产一区二区成人| 美腿丝袜亚洲色图| 夜色激情一区二区| 久久久久国产精品一区二区| 亚洲国产精品电影| 国产精品xxxav免费视频| 亚洲欧美精品在线观看| 欧美成人首页| 亚洲欧美日产图| 亚洲丰满在线| 国产精品美女久久久久aⅴ国产馆| 新67194成人永久网站| 亚洲国产mv| 欧美在线中文字幕| 99精品欧美一区二区三区综合在线| 国产精品剧情在线亚洲| 久久视频在线看| 亚洲影院色无极综合| 亚洲电影免费| 久久亚洲精品网站| 亚洲自拍偷拍网址| 91久久久久久国产精品| 国产日韩一区| 欧美日韩一区自拍| 久久亚洲图片| 午夜免费日韩视频| 亚洲三级电影在线观看| 久热这里只精品99re8久| 亚洲特色特黄| 亚洲欧洲偷拍精品| 国内精品伊人久久久久av一坑| 欧美日韩在线视频首页| 久久综合九色| 欧美在线观看一区| 亚洲一区二区在线观看视频| 亚洲大片一区二区三区| 久久人人爽人人爽爽久久| 亚洲一区免费网站| 一区二区三区欧美成人| 1024精品一区二区三区| 国产欧美日韩综合精品二区| 欧美日韩三级视频| 欧美精品v日韩精品v韩国精品v| 久久久久成人精品| 午夜综合激情| 亚洲免费一在线| 中国成人亚色综合网站| 99re6热只有精品免费观看| 亚洲黄色在线看| 亚洲国产日韩精品| 欧美高清在线观看| 欧美福利专区| 亚洲精品一区二区三区av| 好吊成人免视频| 国产日韩欧美麻豆| 国产精品久久久久免费a∨| 欧美日韩免费在线观看| 欧美日韩国产一区| 欧美日韩一区二区在线播放| 欧美紧缚bdsm在线视频| 欧美成人免费视频| 欧美精品高清视频| 欧美日韩国产精品一区| 欧美日韩亚洲一区二区| 欧美另类极品videosbest最新版本| 欧美激情久久久| 欧美日韩国语| 国产精品成人一区二区艾草| 欧美日韩一区二区三区视频| 国产精品成人午夜| 国产欧美日韩在线视频| 狠狠色丁香久久婷婷综合丁香| 国内精品久久久久久久影视麻豆| 国产视频一区欧美| 好看不卡的中文字幕| 亚洲大片在线观看| 99日韩精品| 亚洲欧美日韩精品久久久| 欧美一区在线视频| 免费成人av在线| 亚洲激精日韩激精欧美精品| 亚洲精品免费在线观看| 亚洲一区在线观看视频|