mfc dll创建及基本概念

来源:互联网 发布:人类男捏脸具体数据 编辑:程序博客网 时间:2024/06/04 19:20
(实践)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

0 0
原创粉丝点击