visual studio c++ 动态调用第三方DLL

首先在vs里面附加头文件

在左侧“解决方案”的项目上右键单击,会弹出菜单,选择“属性”菜单项,选择 “c/c++”  下的  “常规”   “附加包含目录” ,选择头文件所在的目录即可。

visual studio c++ 动态调用第三方DLL_第1张图片

在源代码里引用头文件

visual studio c++ 动态调用第三方DLL_第2张图片

使用LoadLibrary动态加载dll动态链接库

visual studio c++ 动态调用第三方DLL_第3张图片

这个dll文件要放入项目所在目录,我这里放在了生成exe的目录(debug目录)所以需要修改调试的工作目录,如下图

visual studio c++ 动态调用第三方DLL_第4张图片

一般头文件中会给出这个函数是什么样子的,比如下面这个声明定义了一个类型叫做AddScenarioFunc,它表明这个函数的返回值是int类型,接收一个字符串作为入参。

typedef int (*AddScenarioFunc)(const char* sceName);

使用GetProcAddress函数从dll中获取这个函数的地址,然后调用就可以了

        AddScenarioFunc addScenario = (AddScenarioFunc)GetProcAddress(hDll, "AddScenario");
        if (addScenario != NULL)
        {
            addScenario("./BGE/TYscenario/01子宫破裂(带状态跳转).xml");
        }

最后使用FreeLibrary函数释放掉资源 

FreeLibrary(hDll);

 

你可能感兴趣的:(visual,studio,c++,dll)