mfc dll创建及基本概念
2014-06-10 20:31
176 查看
(实践)dll创建及基本概念
1.动态链接库的概念
DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件,是一种二进制文件。
动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。
DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。
DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。
引入库lib是和dll配合使用的,里面没有代码,有被dll导出的函数和变量名,
这种lib是用在静态调用dll上的,所以起的作用也是链接中用,运行时不再需要lib,由程序加载dll,访问函数。
2.如何制作动态链接库:(VC++6.0下完成)
a.新建一个动态链接库工程,在其中新建源代码,写好函数实现。
函数使用_declspec(dllexport)来声明要导出的各个函数。
编译链接后在此工程的Debug目录中会生成 .lib .dll文件。
b.新建一个控制台工程,编写测试代码,要在应用程序中使用导出的 DLL 函数。
最好使用_declspec(dllimport)来声明要导入的各个函数。
c.把做好的 .dll 和 .lib文件拷贝到测试工程文件夹中。
并在测试工程的工程选项中,选择设置-》连接,往对象/库模块中加入新复制过来的 .lib。
d.编译链接,运行程序。
3.若在VS2012下无法运行
1. Ctrl + F5(运行不调试)就可以了(最好的解决方案)
2. 在cmd命令行下执行程序。
3. 把"Microsoft Symbol Servers"勾上(Tools -> Options -> Debugging -> Symbols). //这个我在本机上实验还是不行,还是第一种方便
原因:程序输出的地方是系统而不是vs2012
1.动态链接库的概念
DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件,是一种二进制文件。
动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。
DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。
DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。
引入库lib是和dll配合使用的,里面没有代码,有被dll导出的函数和变量名,
这种lib是用在静态调用dll上的,所以起的作用也是链接中用,运行时不再需要lib,由程序加载dll,访问函数。
2.如何制作动态链接库:(VC++6.0下完成)
a.新建一个动态链接库工程,在其中新建源代码,写好函数实现。
函数使用_declspec(dllexport)来声明要导出的各个函数。
编译链接后在此工程的Debug目录中会生成 .lib .dll文件。
b.新建一个控制台工程,编写测试代码,要在应用程序中使用导出的 DLL 函数。
最好使用_declspec(dllimport)来声明要导入的各个函数。
c.把做好的 .dll 和 .lib文件拷贝到测试工程文件夹中。
并在测试工程的工程选项中,选择设置-》连接,往对象/库模块中加入新复制过来的 .lib。
d.编译链接,运行程序。
3.若在VS2012下无法运行
1. Ctrl + F5(运行不调试)就可以了(最好的解决方案)
2. 在cmd命令行下执行程序。
3. 把"Microsoft Symbol Servers"勾上(Tools -> Options -> Debugging -> Symbols). //这个我在本机上实验还是不行,还是第一种方便
原因:程序输出的地方是系统而不是vs2012
相关文章推荐
- 深入浅出MFC文档/视图架构之基本概念
- MFC的基本概念
- 深入浅出Visual C++动态链接库(Dll)编程之一:基本概念
- MFC 基础(VC环境,Windows基本概念)
- 在MFC “共享MFC 规则DLL”中(创建MFC DLL中选第一个),使用MFC对话框注意问题
- 在vc6里面创建dll,最基本的方法。
- MFC windows应用程序设计(一)——Windows 应用程序的基本概念
- MS BI 中的Ad - hoc 报表 (即席报表) 基本概念以及如何创建和使用
- 多线程调用MFC DLL、在MFC DLL创建多线程与线程安全
- 使用MFC编写的一些VC的基本概念
- 如何为 MFC 应用程序创建本地化资源 DLL
- 仿MFC实现c++按名动态创建对象之续(瘦身以及解决其在dll中使用的问题)
- 多线程学习-线程基本概念及线程创建--发布日期:2008-07-16 23:19
- EVC创建DLL及调用的基本方法
- Java 线程的基本概念 创建方法 和 基本操作
- VC中创建MFC规则DLL工程
- vc 创建非mfc dll方法
- VC6.0如何创建一个基本的Win32 DLL工程
- 怎样利用MFC创建VB能引用的DLL方法
- EVC创建DLL及调用的基本方法