现在位置: 首页 > dll
2013-06-10 21:30 工业·编程 ⁄ 共 3222字 暂无评论
     DLL 地狱(DLL Hell)是指因为系统文件被覆盖而让整个系统像是掉进了地狱。简单地讲,DLL地狱是指当多个应用程序试图共享一个公用组件时,如某个DLL或某个组件对象模型(COM)类,所引发的一系列问题。     最典型的情况是,某个应用程序将要安装一个新版本的共享组件,而该组件与机器上的现有版本不向后兼容。虽然刚安装的应用程序运行正常,但原来依赖前一版本共享组件的应用程序也...
阅读全文
    有的软件可能在不同的国家被用,那么就根据不同的国家选择不同的语言dll.(新建一个项目把资源信息编译成一个dll)。 在什么时候加载不同的dll呢? 》》》程序本地化:资源DLL与多国语言的实现步骤 实现方法: 从注册表中读出所用的语言类型(可以是在安装软件时用户设置的),然后验证版本相对应,如果对应那么就加载此语言dll作为项目资源句柄。 第一步:从注册表中读出语言种类. bool GetLanguageFromRegis...
阅读全文
    对于提供国际化解决方案的程序设计者而言,根据用户地区设置来显示对应的语言界面,将是非常有意义的。本文的目的是提供一个step by step的建议,让没有做过资源dll的人可以从中受益。由于我也没做过资源dll,研究这个也就半天时间,因此如果有什么错误,也很正常。 》》》程序本地化:MFC的多国语言界面的实现     许多细心的人也许已经注意到,在VC的集成编译环境 (IDE)中有一个功能,你...
阅读全文
2012-12-13 11:56 工业·编程 ⁄ 共 1320字 暂无评论
1.在VS2005中建立Win32 Dynamic-Link Library的方法: 文件->新建->项目->Visual C++->Win32->Win32项目,进入Win32应用程序向导, 在应用程序设置的应用程序类型中选择“DLL(D)”,一般还要在附加选项中勾选“空项目” 2.在VS2005中添加DLL的方法: 1)隐式链接方式加载DLL 首先将dll项目中生成的.lib文件和.dll文件复制到调用项目中。其实项目在编译时只需要.lib文件,不需要.dll文件;而编译完成后,链...
阅读全文
1.问题阐述 C++类对象、DLL及COM都是面对向对象的,它们都实现了重用,避免了程序员重复造轮子的现象的产生。那么它们之间有什么区别呢? 2.实现技巧 C++对象重用是定义在源代码级别上的,而DLL和COM是定义在二进制级别上的重用,是执行代码重用的技术。     DLL和COM都实现了模块之间的通信,但是DLL对于内存的利用和数据类型使用没有一定的约束规范。而COM对数据、内存等其他的几个方面进行了规范,使得软件...
阅读全文
    .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。     附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件。如果要完成源代码的编译和链接,有头文件和lib就够了。如果也使动态连接的程序运行起来,有dll就够了。在开发和调试阶段,当然最好都有。 .h .lib .dll三者的关系是: H文件作用是:声明函数接口 DLL文件作用是: 函数可执行代码     当我...
阅读全文
2012-09-28 21:06 工业·编程 ⁄ 共 3439字 评论 1 条
    熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。     在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们...
阅读全文
2012-09-26 07:20 工业·编程 ⁄ 共 280字 暂无评论
    Windows使用DLLs在二进制级共享代码。DLL不是跨语言的。 MFC引入了另外一种MFC扩展DLLs二进制共享机制。但它的使用仍受限制——只能在MFC程序中使用。     COM独立于语言。COM 规范为了实现跨语言,规定了二进制分配的内存结构。 很多COM 选择C++的原因     在内存中,COM对象的标准形式在C++虚函数中偶尔用到.但是记住,编写COM模块所用的语言是无关的,因为结果二进制代码为...
阅读全文
2012-08-02 09:28 工业·编程 ⁄ 共 902字 暂无评论
.lib文件可以让别人来调用你的工程,但是只能允许C++调用,而且需要同时提供所要使用类的头文件以及该工程的.lib文件。 有两个工程 project A & project B,project A 中有类class a。现在想要在project B中使用类a的行为。 方法一: step1: 右键单击project A工程名->configuration properties->General->Configuration Type中,选择Static Library(.lib)。这样,在外层Debug文件夹中会产生以该工程名命名的.lib...
阅读全文
2012-08-02 09:16 工业·编程 ⁄ 共 302字 暂无评论
    lib是静态库,dll一般是动态链接库(也有可能是别的)比如要编译个exe,lib在编译的时候就会被编译到exe里,作为程序的一部分.而dll是不被编译进去,是运行的时候才调入的(可能是exe刚运行就调入,也可能运行了一半才调入) 用法     lib需要个.lib文件和一个.h文件,程序正常使用.h的函数,在链接选项里加入.lib文件就ok.     dll用法有2种,一种是 .h + .lib + .dll的,用...
阅读全文