zoukankan      html  css  js  c++  java
  • vs2010创建并使用DLL

    一、为什么需要dll

    代码复用是提高软件开发 效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架, 如ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”。“白盒复用”的缺点 比较多,总结起来有4点。

    1. 暴露了源代码;
    2. 容易与程序员的“普通”代码发生命名冲突;
    3. 多份拷贝,造成存储浪费;
    4. 更新功能模块比较困难。

    实际上,以上4点概括起来就是“暴露的源代码”造成“代码严重耦合”。为了弥补这些不足,就提出了“二进制级别”的代码复用。使用二进制级别的代码复用一定程度上隐藏了源代码,对于缓解代码耦合现象起到了一定的作用。这样的复用被称为“黑盒复用”。

    在Windows操作系 统中有两种可执行文件,其后缀名分别为.exe和.dll。它们的区别在于,.exe文件可被独立的装载于内存中运行;.dll文件却不能,它只能被其它 进程调用。然而无论什么格式,它们都是二进制文件。上面说到的“二进制级别”的代码复用,可以使用.dll来实现。

    与白盒复用相 比,.dll很大程度上弥补了上述4大缺陷。.dll是二进制文件,因此隐藏了源代码;如果采用“显式调用”(后边将会提到),一般不会发生命名冲突;由 于.dll是动态链接到应用程序中去的,它并不会在链接生成程序时被原原本本拷贝进去;.dll文件相对独立的存在,因此更新功能模块是可行的。

    说明:实现“黑盒复用”的途径不只dll一种,静态链接库甚至更高级的COM组件都是。

    1、创建新C#控制台应用程序,项目命名createBll,打开Program.cs重命名为TestA(可以不重命名)并修改代码,如图:

    vs2010生成Dll文件并引用dll(C#) 写好后,可以写其它的类.cs文件
    2、完成后,点击菜单栏的“项目”,下拉单选择“createDll属性”,打开如图窗口
    vs2010生成Dll文件并引用dll(C#)
    在输出类型选择“类库”,然后关掉该窗口,生成解决方案,即生成了creatBll.dll文件,在项目下createBllcreateBllinDebugcreateBll.dll目录下。
     
    3、引用Dll文件,新建项目referenceDll,把上面生成的createBll.dll文件复制粘贴到新项目下Debug文件夹下面
    vs2010生成Dll文件并引用dll(C#)
    4、在referenceDll项目解决方案处的引用点击右键,弹出窗口
    vs2010生成Dll文件并引用dll(C#)
    浏览标签下,打开referenceDll项目下Debug文件,找到刚才复制过来的createBll.dll文件,单击确定即可引用。
    5、双击引用下的createBll打开对象浏览器,展开可以看的createBll.dll文件里封装的方法TestA
    vs2010生成Dll文件并引用dll(C#)
    6、编写Program里的相应代码
    vs2010生成Dll文件并引用dll(C#)
    先引用createBll,然后代码如图,即可调用dll里的方法
  • 相关阅读:
    统计代码行数
    梯度下降算法
    multiplot 安装与配置
    ros 源码安装
    cmake 指定gcc/g++版本
    python 科学计算基础库安装
    协方差矩阵的含义
    pysvn 相关
    void 0与undefined
    BEM规范
  • 原文地址:https://www.cnblogs.com/woshare/p/4505287.html
Copyright © 2011-2022 走看看