美文网首页
DLL显式链接和隐式链接

DLL显式链接和隐式链接

作者: 7bfedbe4863a | 来源:发表于2018-01-03 23:05 被阅读0次

    隐式链接

    使用时

    -头文件

    #include "..\DLLTest\MyDll.h"//dll头文件所在路径
    #pragma comment(lib,"..\\debug\\DLLTest.lib")//lib所在路径
            //第1种.用这句代码,让编译器查看已获得的lib文件,同时让它顺便查看该目录的DLL头文件。
            //第2种.把自己写的DLL放到新项目相同的路径中。一般选择第一种
    

    -调用语句

    //直接调用DLL中定义的函数。比如我定义的 void TestDll(int);
    TestDll(1);
    

    显式链接

    使用时

    -头文件

    #include <Windows.h>
    

    -调用语句

        //在头文件后main函数前定义:
        typedef void (*Test)(int);    //一定是在DLL中定义的相同格式
        //在main函数中
        Test _Test;
        HINSTANCE hInstLib = LoadLibrary(_T("..\\debug\\DLLTest.dll"));  //加载dll
        //或者用LoadLibraryEx
        if (hInstLib == NULL)
        {
            FreeLibrary(hInstLib);  //释放动态链接库
        }
        _Test = (Test)GetProcAddress(hInstLib,"TestDll");//获取动态链接库中的函数地址
        if (_Test==NULL)
        {
            FreeLibrary(hInstLib);
        }
        _Test(1); //调用
    
    DLL显式链接和隐式链接

    -LoadLibrary(PCTSTR pszDLLPathName);
    -LoadLibraryEx(PCTSTR pszDLLPathName,
    HANDLE hFile,
    DWORD dwFlag);

    相关文章

      网友评论

          本文标题:DLL显式链接和隐式链接

          本文链接:https://www.haomeiwen.com/subject/yqqlnxtx.html