MFCdll的两种调用方法
有同事问我mfcdll的掉用方法,这里总结了一下.
1 lib库调用
只要VS能找到dll对应的lib和h文件,就可以开发和调试.包含lib和h文件有两个方法.
第一种方法设置路径是
.h要放在 ”工具->项目的解决方案->VC++目录->包含文件”
.lib要放在 ”工具->项目的解决方案->VC++目录->库文件”
这种方法具有全局属性,影响所有项目.调用opencvdll采用这种方法
第二种方法是
.h放在 “项目->配置属性->c/c++->常规->附加包含目录”
.lib放在“项目->配置属性->链接器->常规->附加库目录”
当然你直接把.h包含到工程内也行.
2 采用LoadLibrary方法调用
下面是调用示例
//加载DLL BOOL Init_MFCCallBackDllTest_Dll(){ m_hRecHinstance = LoadLibrary("MFCCallBackDll.dll"); if(m_hRecHinstance == NULL){ AfxMessageBox("dll̬⊧ܡ"); return FALSE; } DLL_MFCCallBackDllTest = (pMFCCallBackDllTest)GetProcAddress(m_hRecHinstance, "MFCCallBackDllTest"); if(NULL == DLL_MFCCallBackDllTest){ AfxMessageBox("Ӕض̬⍆CCallBackDllTestʽʧܢ); FreeLibrary(m_hRecHinstance); m_hRecHinstance = NULL; return FALSE; } return TRUE; } |
我把我的工程例子放到了网上,这里可以下载http://download.csdn.net/detail/wisdomfriend/9054083
MFCdll的两种调用方法的更多相关文章
- thinkphp的钩子的两种配置和两种调用方法
thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十 ...
- WebService两种调用方法
1.wsimport生成本地客户端代码 命令提示窗口执行生成命令. 格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址” 示例: ...
- 008.Delphi插件之QPlugins,服务的两种调用方法
这个QPlugins自带的DEMO,大概的意思就是,创建2个服务类,程序启动的时候注册这2个服务类.点击不同的按钮,使用不同的方法来调用这个服务. 效果界面如下 unit Frm_Main; inte ...
- jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. [WebMethod] public static string SayHe ...
- Service的两种启动方法
刚才看到一个ppt,介绍service的两种启动方法以及两者之间的区别. startService 和 bindService startService被形容为我行我素,而bindService被形容 ...
- iOS学习——UITableViewCell两种重用方法的区别
今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell的重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别.直到我在使用方法二进 ...
- servlet两种配置方法详解
1.web.xml中Servlet的注解 <servlet> <!-- servlet的内部名称,自定义 --> <servlet-name>DemoAction ...
- JavaScript监听手机物理返回键的两种解决方法
JavaScript没有监听物理返回键的API,所以只能使用 popstate 事件监听. 有两个解决办法: 1.返回到指定的页面 pushHistory(); window.addEventList ...
- visualvm远程监控jvm两种配置方法
参考:http://blog.itpub.net/17203031/viewspace-765810 一.Jstatd RMI远程监控方法 VisualVM在监控本地JVM的时候是很方便的.只要应用程 ...
随机推荐
- linux下蓝牙开发(bluez应用)
编译blueZ-5.25 需要先编译安装以下包: bluez-libs-3.36.tar.gz expat-2.1.0.tar.gz dbus-1.10.0.tar.gz glib-2.26.1.ta ...
- 关于使用self.title文字不居中的解决办法
最放发现,使用Segue在对视图切换,左上角的一般都是<Back 的一个Button控键或者是上一个视图的<title .因为上一个视图的title名字太长,导致当前视图的title被挤压 ...
- docker下ubutun没有ifconfig命令问题
解决: apt-get update #更新apt-get apt install net-tools # ifconfig apt install iputils-ping # ...
- elementtaryos root密码更改
在elementtaryos 终端中使用root 账户但不幸忘记密码怎么办?请进行如下操作...... 1.进入高级选项选中recovery mode 2.按e编辑,找到recovery nomode ...
- su切换用户报错cannot set user id: Resource temporarily unavailable
su: cannot set user id: 资源暂时不可用 登录root su - tomcat 报错: cannot set user id: Resource temporarily un ...
- asp web服务
项目名--->添加--->web引用 网址:http://www.webxml.com.cn/zh_cn/index.aspx https://blog.csdn.net/linshich ...
- AtCoder Beginner Contest 113 A
A - Discount Fare Time limit : 2sec / Memory limit : 1024MB Score: 100 points Problem Statement Ther ...
- .Net支持Redis哨兵模式
csredis 博客 csRedisgit地址 csRedis3.2.1 Nuget地址 (在使用csredis3.2.1获取sentinel时产生运行时异常,调查问题最后发现是获取sentinel的 ...
- 1152 Google Recruitment (20 分)
In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the p ...
- Tomcat启动分析
[转自] http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html 1 - Tomcat Server的组成部分 1.1 - Server ...