久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11598|回復: 0
收起左側

VC++學習之---MFC程序與調用DLL文件

[復制鏈接]
ID:71477 發表于 2015-1-1 18:34 | 顯示全部樓層 |閱讀模式
MFC編寫dll與調用

1、dll的新建和編寫

     用vc++ 2008新建MFC ->MFCDLL,在向導中選擇 “使用共享 MFC DLL的規則 DLL”,然后點擊
完成就新建了一個dll文件工程。

打開 .cpp文件,編寫自己需要的函數或子程序。

例如:函數聲明可以放到.h里面,就像平時C語言工程一樣
int shaoAdd(int a,int b)
{
  int c;
  c=a+b;
  return c;
}
然后打開 .def文件,在“EXPORTS下面加入自己要對外公開的函數

    例如:
EXPORTS
    ; Explicit exports can go here
    DllCanUnloadNow PRIVATE   //默認自帶   
    DllGetClassObject PRIVATE //默認自帶
    DllRegisterServer PRIVATE //默認自帶
    shaoAdd   PUBLIC  //自定義的函數,只要名字即可

之后編譯,到這里就完成了dll文件的編寫、公開、編譯。
2、dll文件的調用
新建一個 MFC 應用程序項目,在需要調用dll的 .cpp文件中輸入一下代碼 :
            #pragma   comment(lib,"dll文件的lib文件名");
             __declspec( dllimport ) dll文件中的函數申明;
    例:    #pragma   comment(lib,"test.lib");
            __declspec( dllimport ) int shaoAdd(int a,int b);
//注意,雖然這里是lib文件,但是生產exe后,只把test.dll文件放到exe目錄下就行。不需要test.lib文件
之后把dll工程中編譯好的 .dll 和 .lib 文件復制到調用dll程序的源文件目錄,最后就能在調用dll的源程序中使用dll中的函數!
例如:在對話框按鈕事件中使用
void CMyDlg::OnButton5()
{
    m_edit2.SetSel(0,-1,FALSE);
    m_edit2.Copy();
    MessageBox("內容已復制!!!");
    if (shaoAdd(10,20)==30)
    {
        MessageBox("DLL調用成功!!!");
    }
}
最后編譯你的工程,生產exe文件即可。

使用時,要把exe文件和dll文件放到一個目錄下,即可使用,否則會報錯.

備注:DLL文件內如果使用到MFC庫的時候,最好在每個自定義函數體內都加上
      "AFX_MANAGE_STATE(AfxGetStaticModuleState());"

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久在线 | 色av网 | 午夜影院在线 | 亚洲一区二区av | 日本a视频 | 日韩网站免费观看 | 精品亚洲国产成人av制服丝袜 | 成人羞羞国产免费游戏 | 亚洲天堂一区二区三区 | 二区三区在线观看 | 成人性色生活片 | 亚洲色在线视频 | 亚洲三级免费 | 在线不欧美| 久在线视频 | 久久精品黄色 | 一区二区三区精品 | 91成人在线观看喷潮 | 精品综合网 | 欧美理论片在线观看 | 最新国产在线视频 | 狠狠干美女 | 欧美黄色片视频 | 中文字幕精品一区久久久久 | 亚洲国产黄色 | aaa级片| 逼逼操 | 久久精品久久久精品美女 | 91亚洲一区 | 日韩一级片视频 | 免费的黄色网 | 亚洲成人av | 日韩毛片在线播放 | 黄色三级小说 | 插插插av| 免费黄色一级视频 | 99久热 | 中文字幕在线观看免费视频 | 五月激情丁香 | 午夜免费观看视频 | 日韩精品视频免费播放 |