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