MFC_动态链接库

直接上代码:

// CmfcdllApp 初始化

BOOL CmfcdllApp::InitInstance()
{
    CWinApp::InitInstance();
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    AfxMessageBox(L"我是动态链接库入口点");
    return TRUE;
}


BOOL CmfcdllApp::ExitInstance()
{
    CWinApp::ExitInstance();
    AFX_MANAGE_STATE(AfxGetStaticModuleState());//如果是MFC dll动态链接库的话,最好加上这句话,不然后面的函数有可能报错
    AfxMessageBox(L"我是动态链接库出口点");
    return TRUE;
}

extern "C" __declspec(dllexport) int add(int a,int b)//我是导出函数
{
    return a+b;
}

int sub(int a,int b)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    AfxMessageBox(L"我是sub方法");
    return a-b;
}

; mfcdll.def : 声明 DLL 的模块参数。

LIBRARY "mfcdll"

EXPORTS
; 此处可以是显式导出
sub

 

 

 

下面看如何调用:

 

//1.先在.h里面声明一个函数变量

    typedef void xxxx(void);
    xxxx * sub;



    HMODULE hdd=LoadLibrary(L"mfcdll.dll");//加载动态链接库
    sub=(xxxx*)GetProcAddress(hdd,"sub");//获得动态链接库里面的函数指针
    if (sub)
    {
        ::AfxMessageBox(L"加载成功");
    }


    sub();

 

posted @ 2013-08-31 17:16  宝贝,我永远都在  阅读(155)  评论(0)    收藏  举报