1
12
您需要添加以下内容:
以避免功能损坏。 您可以考虑编写两个简单的C函数:
通过使用这些函数,您可以在以后添加/更改对象创建/删除的功能。这有时被称为工厂。 |
2
5
在找到解决方案 http://www.codeproject.com/KB/DLL/XDllPt4.aspx 谢谢你们的努力,伙计们和女孩们。 |
3
2
我通常声明一个接口基类,在我的应用程序中使用这个声明,然后使用loadLibrary、getProcAddress来获取工厂函数。该因子始终返回接口类型的指针。 这是一个实际的例子, exporting an MFC document/view from a DLL ,动态加载 |
4
2
退房 this question . 基本上,有两种方法。您可以使用_dllexport标记类,然后与导入库链接,将自动加载dll。或者,如果您想自己动态加载dll,可以使用@Titanae建议的工厂函数思想。 |
5
1
dllexport/dllimport工作正常,将它放在头文件中类名之前,您就可以开始了。 通常,您希望在dll中使用dllexport,在exe中使用dllimport(但您可以在任何地方都使用dllexport,它工作正常,执行“正确”操作会使加载速度稍快)。 显然,这是为了链接时间编译。您可以使用/delayoad链接器指令使其“动态”,但这可能不是您想要的主题行。 如果你真的想要一个加载库样式加载,你将不得不用C++“C++”函数包装你的C++函数。问题是因为名字有误,你可以输入完全有误的名字,这样就可以了。 解决方法通常是提供一个C函数,该函数返回指向正确类的指针-com的工作方式是这样的,因为它从一个dll中导出4个C函数,该dll用于获取dll中对象内部的接口方法。 |
Guilherme Albertini · DLL中的类 6 年前 |
Naomi · C#dll资源文件更改语言 6 年前 |
AidanH · C#DLL语言翻译实现[关闭] 6 年前 |
subham · DLL函数调用不工作 6 年前 |
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 6 年前 |
nemo · DLL的“好”调用约定是什么? 6 年前 |