代码之家  ›  专栏  ›  技术社区  ›  Johan Bresler

如何在Delphi7的“uses子句”中识别并清除未使用的单元?

  •  14
  • Johan Bresler  · 技术社区  · 17 年前

    在我的一些非常大的项目中,这将大大减少可执行文件的大小。我相信还有其他好处。

    编辑:是否有一个实用程序可以自动扫描项目并删除多余的项目?我有100个项目,“自动删除”将是头奖,尽管如果我必须这样做,我会在确定实用程序的帮助下手动方式。

    7 回复  |  直到 17 年前
        1
  •  13
  •   Lieven Keersmaekers    17 年前

    你可能想看看 CnPack .

    CnPack包含一个Uses cleaner向导,它还没有让我失望。

        2
  •  9
  •   Johnno Nolan    17 年前

    我以前用过 Icarus 这给了我一份关于未使用的条目的报告。

    从网页

    ICARUS解析Delphi或Borland Pascal源代码并生成Uses报告。此报告将帮助您从使用列表中删除不需要的单位。您还将知道哪些单元可以从接口使用列表移动到实现使用列表。

    要维护更干净的代码,无需担心未使用的代码 未使用单位的初始化和终结部分中的代码未链接到中 编译运行更平稳、更快

    伊卡洛斯是免费软件。

        3
  •  2
  •   Lars Truijens    17 年前

    这样的工具永远无法分析所用单元的初始化或终结部分是否需要执行。从使用中删除单元可能会导致不运行初始化和终结部分,从而导致错误。

        4
  •  2
  •   Community Mohan Dere    9 年前

    另请参见本SO条目,了解有关可能问题的其他信息,如基于RTTI的方法:

    https://stackoverflow.com/questions/605977/tools-to-detect-dead-code-in-delphi2007-or-above/

        5
  •  2
  •   Loren Pechtel    17 年前

    请记住,链接器将删除任何无法调用的内容。如果没有使用一个单元,并且它没有初始化或终结,那么它将被完全剥离。初始化或终结中引用的任何内容都将保留,但一般来说,这不会带来太多好处。

        6
  •  1
  •   Community Mohan Dere    9 年前

    看到一些答案了吗 here

        7
  •  1
  •   Marco van de Voort    17 年前

    Peganza也有类似的工具: http://www.peganza.com/

    推荐文章