100分,帮顶有分。MFC应用程序怎么做成DLL? 请问,做好的MFC应用程序怎么把它做成DLL?由于代码较多,所以不可能重新建个DLL项目,有没有能在程序里面直接转换成DLL的方法?注明:不用新建项目就可以直接转换 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 新建一个MFC DLL项目,然后把生成的文件copy过来,加进项目,然后再改代码,将Class定义成DLL输出的,然后修改解决方案设置。不新建项目也可以啊,但是你要自己写DLL代码,那还不如Copy过来简单啊。 新建一个MFC DLL项目,把代码拷过去就可以了代码多没关系啊,你只需要拷头文件和源文件,然后加入到工程里 我的建议是1,直接修改工程文件内容,使其编译连接后生成一个DLL,也就是改成DLL工程2,在修改的DLL中导出一个接口函数fun13,通过其它EXE调用该接口函数fun1,启动你的程序 exe变dll很简单,我以前就干过。不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。 建个dll工程,原先的功能类导进来 楼上们说的可能是在同一平台下的要是vc 的dll c#、dephi用,或到linux下用,那个可能不是很好使吧 http://blog.csdn.net/fengbingchun/article/details/6715330 添加新工程的时候不是有 MFC DLL 吗 用那个就行,然后生成的DLL 文件,再你的项目直接用就ok了。 exe变dll很简单,我以前就干过。不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。顶12楼 请问如何将类型设置为dll 以vs2008中文版为例项目菜单-工程属性-配置属性-常规-项目默认值-配置类型-动态库(.dll) 按你的第一种方法做了,还是不行啊。提示:无法启动程序“LOGIN\Debug\LOGIN.dll” 还是新建个DLL,移植代码比较妥当。调试也方便。 要新建一个dll项目导出函数这样写:#include "StdAfx.h"#include "TabDlg.h"extern "C" __declspec(dllexport) void Show() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CTabDlg Dlg; Dlg.DoModal (); } 代码多没关系,又不需要重新抄一遍。只是把.h和.cpp文件拷到新建的DLL工程中,然后再加载到工程中就可,不需要动键盘,只要动鼠标就行。------------------------------------------------------------------------ 散分啦,找工作啊找工作…… HL7通信 鼠标自定义图标创建问题 什么是总非技术分呀,,怎么得? 这样用SNMP为什么得不到局域网中其它机器的系统信息? http下载文件返回状态码问题 基于CTreeView的程序这一句代码this->GetTreeCtrl().InsertItem("aa");放在哪里好?放OnDraw()函数好像不被调用? 调用divx.dll,我想使用它里面的函数,我怎么知道有什么函数,参数是什么? 请帮帮忙,树形控件的问题。急! 我的VC6为什么装不了VSS? 怎么在ONDRAW 函数中读取TXT文件 请教MFC如何重复获取网页源码
将Class定义成DLL输出的,然后修改解决方案设置。
不新建项目也可以啊,但是你要自己写DLL代码,那还不如Copy过来简单啊。
代码多没关系啊,你只需要拷头文件和源文件,然后加入到工程里
1,直接修改工程文件内容,使其编译连接后生成一个DLL,也就是改成DLL工程
2,在修改的DLL中导出一个接口函数fun1
3,通过其它EXE调用该接口函数fun1,启动你的程序
不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。
建个dll工程,原先的功能类导进来
楼上们说的可能是在同一平台下的要是vc 的dll c#、dephi用,或到linux下用,那个可能不是很好使吧
不用新建,不用复制,在工程设置里,把类型设置为Dynamic Library (.dll)工程就行了,然后插入一个.def文件,写上你要导出的函数,就OK了。还有一种方法:不用改任何东西,直接插入一个def文件,写上你要导出的函数,调用的时候直接LoadLibrary("XXX.exe"); GetProcAddress()就可以用了从本质上dll和exe都是PE文件结构,二者几乎就是一样的,exe也可以导出函数的。系统内核ntoskrnl.exe就导出了很多内核函数。顶12楼
请问如何将类型设置为dll
以vs2008中文版为例
项目菜单-工程属性-配置属性-常规-项目默认值-配置类型-动态库(.dll)
按你的第一种方法做了,还是不行啊。
提示:无法启动程序“LOGIN\Debug\LOGIN.dll”
调试也方便。
导出函数这样写:
#include "StdAfx.h"
#include "TabDlg.h"
extern "C" __declspec(dllexport) void Show()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CTabDlg Dlg;
Dlg.DoModal ();
}
------------------------------------------------------------------------