加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi中的使用单元序列

发布时间:2020-12-15 09:09:00 所属栏目:大数据 来源:网络整理
导读:我想知道以下使用单位顺序是否正确. uses FastMM4 in 'FastFastMM4FastMM4.pas',VCLFixPack in 'VCLFixPack.pas',FastMove in 'FastFastMoveFastMove.pas',FastCode in 'FastFastCodeFastCode.pas',FastMM4Messages in 'FastFastMM4FastMM4Messages.
我想知道以下使用单位顺序是否正确.

uses
  FastMM4 in 'FastFastMM4FastMM4.pas',VCLFixPack in 'VCLFixPack.pas',FastMove in 'FastFastMoveFastMove.pas',FastCode in 'FastFastCodeFastCode.pas',FastMM4Messages in 'FastFastMM4FastMM4Messages.pas',

我为什么要打扰订单呢?

解决方法

这里有三个独立的代码:

> FastMM
> VCLFixPack
> FastCode

在执行任何堆分配之前,安装替换内存管理器FastMM非常重要.所以我认为很明显,必须是第一个包含的单位.您也可以将两个FastMM单元放在一起.

其他单元更改内存中的代码,修复错误(VCLFixPack)或提高性能(FastCode).虽然您已经单独识别了FastMove和FastCode,但实际上,FastCode单元实际上安装了一套改进的功能,这些功能由十几个单独的单独单元定义.

在包含VCL单元之前安装VCL修复程序似乎很可能很重要.所以VCLFixPack应该出现在任何VCL单元之前.

至于FastCode,因为它只会影响性能,所以你可以在.dpr文件中的任何一点使用它.初始化代码是否与vanilla RTL代码一起运行可能无关紧要.也就是说,为了保持一致性,将所有这些改变运行时行为的单元放在一起是有意义的.所以我会写这样的.dpr uses子句:

uses
  FastMM4 in 'FastFastMM4FastMM4.pas',....

我把FastCode放在VCLFixPack之前,因为逻辑上RTL的级别低于VCL.然而,无论如何都无关紧要.但你必须选择一个,这是我的推理.

我也省略了对FastMove单元的显式引用. FastCode和许多其他单元一起使用它,如果你要省略其他单元,你也可以省略FastMove.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读