一般使用动态链接库DLL中类的方法

现在假设你的建立的DLL名是win32dll

1.新建一个工程。将上述的三个文件:win32dll.lib,win32dll.dll,win32dll.h,拷贝到当前工程目录中。 在工程的头文件中,引入上述头文件和lib库。

#include "win32dll.h" 
#pragma comment(lib,"win32dll.lib")

2.其实还可以在设定路径的方法上进行设置,这样的话就不用copy到现在的工程了。如果需要用到头文件,就具体的做法是

project--> (现在工程名)project properties-->c/c++ --> general --> additional including libraries里加上你的路径就行了。

 

 

可执行文件仅在运行时加载动态链接库。必须告诉系统在哪里查找“win32d.dll”。您可以通过使用 PATH 环境变量做到这一点。为此,请在属性页”对话框中展开配置属性”节点,并选择调试”。在环境”旁边键入以下内容:PATH=< win32dll.dll 文件的路径>,其中 < win32dll.dll 文件的路径> 应替换为win32dll.dll的实际位置。单击确定”保存所有更改。

然后再加上:

#include "win32dll.h" 

 

以上两种方法都是可以的,各有优缺点。所以希望大家自己选择一种。

然后在你的类中,可以定义DLL库中包含的类的实例了:

CWin32dll m_dll;

这样就可以在本工程中使用DLL中的类及其类中函数了。当然,DLL中的全局变量,函数等也可以使用。

说明:如果你程序很复杂,比如说你的DLL还引用了其他的库,其他的自己写的头文件,这时的DLL引用会变的很复杂,很有可能上述方法是不行的。建议使用的方法,不要使用DLL,直接在上述DLL引用的库和头文件的基础上写一个应用程序,跳过一个DLL。

posted @   ustc_msra_ase  阅读(3579)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示