永发信息网

系统 DLL是什么

答案:4  悬赏:80  手机版
解决时间 2021-04-23 06:14
系统 DLL是什么
最佳答案
DLL 是一个包含可由多个程序同时使用的代码和数据的库。例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数。因此,每个程序都可以使用该 DLL 中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。

通过使用 DLL,程序可以实现模块化,由相对独立的组件组成。例如,一个计帐程序可以按模块来销售。可以在运行时将各个模块加载到主程序中(如果安装了相应模块)。因为模块是彼此独立的,所以程序的加载速度更快,而且模块只在相应的功能被请求时才加载。

此外,可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您可能具有一个工资计算程序,而税率每年都会更改。当这些更改被隔离到 DLL 中以后,您无需重新生成或安装整个程序就可以应用更新。
全部回答

都是些调试文件。。

它是Dynamic Link Library 的缩写形式,DLL 是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。  下表说明了 Windows 操作系统中的一些作为 DLL 实现的文件: • ActiveX 控件 (.ocx) 文件   ActiveX 控件的一个示例是日历控件,它使您可以从日历中选择日期。   • 控制面板 (.cpl) 文件   .cpl 文件的一个示例是位于控制面板中的项。每个项都是一个专用 DLL。   • 设备驱动程序 (.drv) 文件   设备驱动程序的一个示例是控制打印到打印机的打印机驱动程序。 [编辑本段]DLL 的优点  1、扩展了应用程序的特性;   2、可以用许多种编程语言来编写;   3、简化了软件项目的管理;   4、有助于节省内存;   5、有助于资源共享;   6、有助于应用程序的本地化;   7、有助于解决平台差异;   8、可以用于一些特殊的目的。windows使得某些特性只能为DLL所用。 [编辑本段]DLL 依赖项  当某个程序或 DLL 使用其他 DLL 中的 DLL 函数时,就会创建依赖项。因此,该程序就不再是独立的,并且如果该依赖项被损坏,该程序就可能遇到问题。例如,如果发生下列操作之一,则该程序可能无法运行:   • 依赖 DLL 升级到新版本。   • 修复了依赖 DLL。   • 依赖 DLL 被其早期版本覆盖。   • 从计算机中删除了依赖 DLL。   这些操作通常称为 DLL 冲突。如果没有强制实现向后兼容性,则该程序可能无法成功运行。   DLL 入口点   在创建 DLL 时,可以有选择地指定入口点函数。当进程或线程将它们自身附加到 DLL 或者将它们自身从 DLL 分离时,将调用入口点函数。您可以使用入口点函数根据 DLL 的需要来初始化数据结构或者销毁数据结构。此外,如果应用程序是多线程的,则可以在入口点函数中使用线程本地存储 (TLS) 来分配各个线程专用的内存。下面的代码是一个 DLL 入口点函数的示例。 BOOL APIENTRY DllMain(   HANDLE hModule, // Handle to DLL module   DWORD ul_reason_for_call, // Reason for calling function   LPVOID lpReserved ) // Reserved   {   switch ( ul_reason_for_call )   {   case DLL_PROCESS_ATTACHED:   // A process is loading the DLL.   break;   case DLL_THREAD_ATTACHED:   // A process is creating a new thread.   break;   case DLL_THREAD_DETACH:   // A thread exits normally.   break;   case DLL_PROCESS_DETACH:   // A process unloads the DLL.   break;   }   return TRUE;   }   当入口点函数返回 FALSE 值时,如果您使用的是加载时动态链接,则应用程序不启动。如果您使用的是运行时动态链接,则只有个别 DLL 不会加载。   入口点函数只应执行简单的初始化任务,不应调用任何其他 DLL 加载函数或终止函数。例如,在入口点函数中,不应直接或间接调用 LoadLibrary 函数或 LoadLibraryEx 函数。此外,不应在进程终止时调用 FreeLibrary 函数。   注意:在多线程应用程序中,请确保将对 DLL 全局数据的访问进行同步(线程安全),以避免可能的数据损坏。为此,请使用 TLS 为各个线程提供唯一的数据。
其实是文件。DLL文件是某些程序运行所必须的文件。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
跟朋友闹矛盾了怎么办
Dnf武神强踢 第七鬼神 远古炮 战争机械 这几
上进置业地址有知道的么?有点事想过去
总裁总裁,我不玩了! 爱爵夜 全文发给我
青春已不在的下一句是,悠悠知己,海内寻之出自
10月24日播出哪集
男朋友长的很帅,心里总是很怕有一天会失去他
我14岁头发要怎么弄才好看
表示虚心的句子,有关谦虚与自信的佳句
吃醋生气怎么办
北京财经学院怎么样,毕业后包分配么,学费几
现在最流行的一首歌你认为是那首?
怎样网上交易
塔吊工资是多少?
怎么注册大连外贸公司,如何注册进出口贸易公
推荐资讯
如何破解N80手机
红蜻蜓最新广告曲
七龙珠结局怎样?
摆自由摆动的快慢与什么没有关系
DNF中,我51了,想快点到55去组队刷悲鸣,请
明坤生鲜怎么去啊,有知道地址的么
手机怎么发短信充Q币?
诚德是什么意思,诚德向善奋发向上什么意思
现在的新家具毒害太大,大家都是怎么解决的?
滃江菜馆怎么去啊,有知道地址的么
摺五角星有咩用?
极限挑战第二季20160515就是第五期我愿意那一
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?