LaB*_*cca 9 delphi uses-clause
我使用cnPack使用清洁剂,但一般来说这是无用单位的缺点?
我知道其中一些:
1)当然,如果整个项目中没有使用该单元,那么将会有无用的资源消耗
2)代码洞察力会产生无用的结果
3)代码洞察力会变慢
但想象一个简单的案例:
Mar*_*ort 15
不.通常,smartlinking的工作方式如下:
结论:确定最终的.exe大小
免费Pascal大致以相同的方式工作,默认值只是不同; Debug目前几乎总是"二进制"(如TD32),而在快照中,默认情况下,smartlinking处于关闭状态.(虽然正式发布,但它已经开启).
此外,人们不应忽视这种程度.Strutils完全像15kb.
(更新2011-11-01)
从某人那里得到了一条评论我喜欢分享:
基本上他对枚举总是联系在一起的说法表示怀疑.也许注册一个具有enum类型的已发布属性的类会拖入它们.这个推理有道理,但我还没有测试过.因此,如果在某处查询typeinfo(tenumtype),或者如果在所使用的类的已发布部分中使用它,则只能直接链接枚举的RTTI.(直接或查询typeinfo(theclass))
在我看来,最大的问题是你有时会被Delphi的范围规则所困扰.如果在不同的单元中有两个具有相同名称的标识符,则使用此名称是指在uses子句中声明为最新的单元中声明的名称.
如果您因此遇到问题,则可以始终完全指定标识符.我真的很想看到的是编译器警告,告诉您是否命名了一个标识符,该标识符的标识仅由uses子句范围规则中的最新声明确定.
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |