您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: