我正在开发一个装有各种实用程序的小型框架——越小越好,这样它就不会增加使用它的可下载程序的大小。是否有任何工具可以显示我的方法、接口(interface)和类的大小(以字节为单位)?
(我一直在删除各种类以查看文件大小的变化,但由于某种原因,DLL 始终是 4 KB 的倍数,所以我无法准确判断给定类的大小,更不用说方法。无论如何,这种方法很麻烦,因为当我删除一个部分时,我还必须删除依赖它的所有代码。)
我之前问过这个问题for C++ (结论是:没有,但在 Linux 中有一个有用的 shell 命令)。
最佳答案
当您编辑内容时文件不会改变大小的原因是因为 PE 格式的每个部分都与特定边界对齐。 (例如,.text 部分通常从偏移量 0x1000 开始),其他部分根据内容的大小对齐。它们之间是'\0'的填充,因此当文件被安装程序压缩时,空间将被有效地消除。
您是否需要担心方法的大小是值得怀疑的,因为它们通常有几十个字节的大小。每种方法的元数据占用的空间都比这多。与重写方法相比,通过缩短变量名和字符串文字可以节省更多空间。
关于c# - .NET 有 “function size profiler” 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615005/