我把一个C++类做成动态库,外部程序怎样调用他生成一个对象呢?大家说说 我把一个C++类做成动态库DLL,外部程序怎样调用他生成一个对象呢?大家说说. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 外部程序调用的时候根据指针的映射得到DLL的方法来实现具体的功能的如果需要生成对象,可以考虑把这个类输出 大家方法也可以.我的DLL是一个基于MFC的扩展动态库.如下:static AFX_EXTENSION_MODULE SelDLL = { NULL, NULL };extern "C" int APIENTRYDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved){ UNREFERENCED_PARAMETER(lpReserved); if (dwReason == DLL_PROCESS_ATTACH) { TRACE0("SEL.DLL Initializing!\n"); if (!AfxInitExtensionModule(SelDLL, hInstance)) return 0; new CDynLinkLibrary(SelDLL); C2ModeFD::RegisterClass("C2ModeFD", RUNTIME_CLASS(C2ModeFD)); } else if (dwReason == DLL_PROCESS_DETACH) { TRACE0("SEL.DLL Terminating!\n"); AfxTermExtensionModule(SelDLL); } return 1; // ok}外部调用的时候能不能利用MFC的类型识别和动态创建来实例化一个C2ModeFD对象来使用呢? 采用输出类的方法,在dll中定义类用class __declspec(dllexport) 类名 利用MFC的类型识别和动态创建来实例化一个C2ModeFD对象可以吗?谁知道呀 那也得输出类,否则MFC怎么知道是什么类型 CRuntimeClass* pRuntimeClass = RUNTIME_CLASS();通过它可以动态创建吗?如何做 DLL一般都是直接完成功能的.就像你用API的一样. DLL也可以以对象的方式给外部提供服务. 其实我想那样做的目的是,基与基类的应运可以不变,面对不同的情况,只要改变DLL就行,比如不同的协议可以封装在不同的DLL里面,这样一来系统很灵活.这个系统应运相对稳定,而一些通信协议会情况不同而不同. 求助,关于GetCurrentTime 求教CImageList问题 如何在vc++2005中将lib文件加入工程 求<<Visual C++/Turbo C串口通信编程实践>> 电子书, 西门子笔试 请教 请问back space键的ascII是多少?我想在输入edit框时,判断是否键入了back space键 关于密码的问题! 请教一下,做个这样的程序要多少银子? 我想学Visual c++请问用什么方法比较好呢? 程序如何实现自重启? 初学VC,请大家指导一下... win32视窗应用程序能接收控制台的标准输入吗?
根据指针的映射得到DLL的方法来实现具体的功能的
如果需要生成对象,可以考虑把这个类输出
我的DLL是一个基于MFC的扩展动态库.
如下:
static AFX_EXTENSION_MODULE SelDLL = { NULL, NULL };extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(lpReserved); if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("SEL.DLL Initializing!\n");
if (!AfxInitExtensionModule(SelDLL, hInstance))
return 0; new CDynLinkLibrary(SelDLL);
C2ModeFD::RegisterClass("C2ModeFD", RUNTIME_CLASS(C2ModeFD));
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("SEL.DLL Terminating!\n");
AfxTermExtensionModule(SelDLL);
}
return 1; // ok
}
外部调用的时候能不能利用MFC的类型识别和动态创建来实例化一个C2ModeFD对象来使用呢?
通过它可以动态创建吗?如何做