关于库文件和动态链接库的问题
初学动态链接库,有些问题不是很理解,如下:1.我知道动态链接库里面封装了很多API函数,我也知道动态链接库很多优点,但是库文件里面也有很多API函数的实现,那么为什么我们...
初学动态链接库,有些问题不是很理解,如下:1.我知道动态链接库里面封装了很多API函数,我也知道动态链接库很多优点,但是库文件里面也有很多API函数的实现,那么为什么我们用的VC++6.0里面,我多数看见的都是一些库文件,而不是DLL,还有,我想过DLL文件里是不是有很多的库文件呢,如果是的话,为什么它不连头文件也包含进去呢,(即下面的一个问题)?2.当我用到有些函数的时候,发现不能用,提示错误(就比如我今天写的):GIF123.OBJ : error LNK2001: unresolved external symbol __imp__TransparentBlt@44,我上百度查过,用这TransparentBlt函数,需要头文件:wingdi.h:库文件:作为一个资源包含在msimg32.dll。。。我看过我的电脑里只有wingdi.h,没有msimg32.dll,一般VC++需要用到的DLL会放在哪里,如果真的没有,那么我又应该去哪里把这个DLL下下来呢?3.如果我的VC++并不是英文企业版的话,就会有很多不完善的地方,比如缺这个文件,缺那个文件,搞到头都晕晒,我应该到哪个地方去把需要的文件下下来呢?
展开
2个回答
推荐于2016-08-12 · 知道合伙人养生行家
关注
展开全部
DLL的全称是Dynamic Link Library, 中文叫做“动态链接文件”。动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源在Windows操作系统中, DLL对于程序执行是非常重要的, 因为程序在执行的时候, 必须链接到DLL文件, 才能够正确地运行。
DLL是动态连接库。使用动态连接库的一些好处是:
1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
5.拓展研发工具的功能,由于DLL是和语言无关的,因此能创建一个DLL,被C++、VB或所有支持动态链接库的语言调用。这样如果一种语言存在不足,就能通过访问另一种语言创建的DLL来弥补。
DLL是动态连接库。使用动态连接库的一些好处是:
1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
5.拓展研发工具的功能,由于DLL是和语言无关的,因此能创建一个DLL,被C++、VB或所有支持动态链接库的语言调用。这样如果一种语言存在不足,就能通过访问另一种语言创建的DLL来弥补。
百事牛
2024-10-22 广告
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点...
点击进入详情页
本回答由百事牛提供
2013-05-26
展开全部
BOOL TransparentBlt Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Wingdi.h; include Windows.h.
Library: Use Msimg32.lib.编译时在工程里加入 Msimg32.lib或加入#pragma comment(lib,"msimg32.lib")就可以了.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Wingdi.h; include Windows.h.
Library: Use Msimg32.lib.编译时在工程里加入 Msimg32.lib或加入#pragma comment(lib,"msimg32.lib")就可以了.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询