当前位置: 首页 > news >正文

网站制作哪些分类天河网站建设信科网络

网站制作哪些分类,天河网站建设信科网络,宁夏固原建设网站,泊头 网站优化dll是什么 DLL 是一个包含可由多个程序同时使用的代码和数据的库。 对于 Windows 操作系统,操作系统的大部分功能都由 DLL 提供。 另外,当您在这些 Windows 操作系统之一上运行某一程序时,该程序的很多功能可能是由 DLL 提供的。 例如&…

dll是什么

DLL 是一个包含可由多个程序同时使用的代码和数据的库。 

对于 Windows 操作系统,操作系统的大部分功能都由 DLL 提供。 另外,当您在这些 Windows 操作系统之一上运行某一程序时,该程序的很多功能可能是由 DLL 提供的。 例如,某些程序可能包含很多不同的模块,而该程序的每个模块都包含在 DLL 中并从中分发。

使用 DLL 有助于促进代码的模块化、代码重用、内存的有效使用和减少所占用的磁盘空间。 因此,操作系统和程序能够更快地加载和运行,并且在计算机中占用较少的磁盘空间。

当程序使用 DLL 时,一个称为依赖性的问题可能导致该程序无法运行。 当程序使用 DLL 时,就会创建一个依赖项。 如果其他程序改写和损坏了该依赖项,原来的那个程序就可能无法成功运行。

dll优势

  • 使用较少的资源

    当多个程序使用同一个函数库时,DLL 可以减少在磁盘和物理内存中加载的代码的重复量。 这不仅可以大大影响在前台运行的程序,而且可以大大影响其他在 Windows 操作系统上运行的程序。

  • 推广模块式体系结构

    DLL 有助于促进模块式程序的开发。 这可以帮助你开发要求提供多个语言版本的大型程序或要求具有模块式体系结构的程序。 模块式程序的一个示例是具有多个可以在运行时动态加载的模块的计帐程序。

  • 简化部署和安装

    当 DLL 中的函数需要更新或修复时,部署和安装 DLL 不要求重新建立程序与该 DLL 的链接。 此外,如果多个程序使用同一个 DLL,那么多个程序都将从该更新或修复中获益。 当您使用定期更新或修复的第三方 DLL 时,此问题可能会更频繁地出现。

dll故障排除

Dependency Walker 工具可以递归扫描以寻找程序所使用的所有依赖 DLL。 在 Dependency Walker 中打开程序时,Dependency Walker 会执行下列检查:

Dependency Walker 检查是否丢失 DLL。
Dependency Walker 检查是否存在无效的程序文件或 DLL。
Dependency Walker 检查导入函数和导出函数是否匹配。
Dependency Walker 检查是否存在循环依赖性错误。
Dependency Walker 检查是否存在由于针对另一不同操作系统而无效的模块。

dll初始化时候调用DllMain

在创建 DLL 时,可以有选择地指定入口点函数。 当进程或线程将它们自身附加到 DLL 或者将它们自身从 DLL 分离时,将调用入口点函数。 您可以使用入口点函数根据 DLL 的需要来初始化数据结构或者销毁数据结构。 此外,如果应用程序是多线程的,则可以在入口点函数中使用线程本地存储 (TLS) 来分配各个线程专用的内存。 

```

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;
}

```

导出 DLL 函数

要导出 DLL 函数,您可以向导出的 DLL 函数中添加函数关键字,也可以创建模块定义文件 (.def) 以列出导出的 DLL 函数。

要使用函数关键字,您必须使用以下关键字来声明要导出的各个函数:
__declspec(dllexport)

若要在应用程序中使用导出的 DLL 函数,必须使用以下关键字 (keyword) 声明要导入的每个函数:__declspec(dllimport)

通常情况下,会使用一个包含 define 语句和 ifdef 语句的头文件,以便分隔导出语句和 import 语句。

你还可以使用模块定义文件来声明导出的 DLL 函数。 当您使用模块定义文件时,您不必向导出的 DLL 函数中添加函数关键字。 在模块定义文件中,可以声明 DLL 的 LIBRARY 语句和 EXPORTS 语句。 下面的代码是一个定义文件的示例。

```

// SampleDLL.def
//
LIBRARY "sampleDLL"
EXPORTS HelloWorld

```

http://www.yayakq.cn/news/310808/

相关文章:

  • 查网站服务器ip 被k传媒公司有哪些
  • iis 网站设置网站怎么实现手机号注册会员
  • 义乌网站建设zisou8安徽建设工程信息网查询平台蔡庆树
  • 有哪些好点的单页网站自己做网站的网址
  • 做网站的文案怎么写腾讯云建设一个网站要多少钱
  • 景德镇网站开发wordpress新建页面不能保存路径
  • 做电子网站教育行业网站建设方案
  • 免费模板网站制作网络营销企业推广策划
  • 成都门户网站有哪些网站与支付宝对接
  • 如何在自己的服务器上搭建微网站做美食没有广告的网站
  • 做网站的费用怎么做账wordpress最新文章显示数量
  • 如何用html制作网站百度云域名注册
  • 网站搭建系统外包接活平台
  • 设计软件coreldraw班级优化大师免费下载电脑版
  • c语言在线编程网站泉州网页制作企业
  • 桐柏微网站开发企业网址查询入口
  • 问卷调查网站哪个好甘肃省建设厅官方网站造价总站
  • 外贸网站faq郴州网站建设专业定制
  • 实训网站开发目的网站开发的风险与风险管理
  • 上海 建站wordpress建多个网站
  • 医疗网站的运营wordpress黑色名片主题
  • 自己做网站需要买什么sun v2.1 wordpress主题
  • 网站模板哪个好nginx wordpress 固定链接
  • 网站设计开发的销售主要工作上海专业网站优化排名
  • dw做网站怎么发布长沙seo排名外包
  • jsp asp php哪个做网站如何在百度上注册自己的网站
  • 社交网站建设网网站炫酷首页
  • 空调维修自己做网站2021年有没有人给个网站
  • 湖北响应式网站设计制作微信怎么制作自己的公众号
  • 南开大学 网站开发技术 刘冲沧州易淘网络科技有限公司