|
|
1
4
我要做的是编写一个自定义工具来搜索您的源代码。 如果您从一个头文件中删除一个资源ID(也就是可能被称为resource.h),然后重新编译并没有得到警告:那么这是一件好事。 以下是我编写应用程序的方法。将您要检查的资源文件(resource.h)作为输入。打开头文件(*.h)并分析所有资源常量(或者至少分析您感兴趣的那些常量)。将它们存储在哈希表中,以便稍后快速查找。 对于项目中的每个代码文件,请在文本中搜索每个资源ID的实例。使用资源ID时,请增加哈希表中的值,否则将其保留为零。 最后,将日志文件或其他文件中的所有资源ID都转储为零。然后测试您是否确实可以安全地删除那些指定的资源ID。完成后,再编写另一个工具,根据日志文件的结果删除指定的资源ID。 您可以用Perl编写这样一个工具,它将在大约0.3秒后执行:但调试需要几天时间。:) 或者您可以在.NET中编写它,它的执行速度会慢一点,但调试需要一个小时。:) |
|
|
2
1
您可以使用Visual Studio的第三方插件作为 ReSharper . 此加载项将分析您的C代码并指出未使用的资源。但它只适用于C。 |
|
|
3
1
对于C++项目,请检查 再吸收 来自RiverBlade。 “资源ID组织者(简称RESG)是VisualC++的一个插件,旨在帮助克服开发/维护Windows应用程序中最烦人的(不必要的)琐事之一——维护资源符号ID值” |
|
|
4
1
我从来没有这么糟糕过。我在编译程序中的方法是使用一个rexx脚本来模拟grep,寻找我怀疑没有使用的源代码的引用,从程序中删除它们,然后看看有什么中断。我使用rexx脚本是因为我可以预先过滤要搜索的文件列表。它允许我在文件夹和计算机之间进行搜索。 |
|
5
1
如果代码在运行时包含动态加载资源(例如通过字符串),则无法自动确定哪些资源可以安全地从源中删除。动态加载语句可以加载任何资源。 你最好的选择是从你修剪过的应用程序版本开始,运行它,并在测试时确定哪些资源丢失了。然后把它们加回去重新测试。 |
|
6
1
你可能想看看这个工具 Reflector (免费),不要混淆 ReSharper (昂贵)它可以显示哪些DLL依赖于另一个DLL。如果你想,你可以删除不被其他任何东西引用的DLL。如果您正在使用依赖项注入或反射,那么请注意,这可能会在您不知情的情况下破坏代码。 反射器: http://www.red-gate.com/products/reflector/ . 此加载项绘制程序集依赖关系图和IL图: http://reflectoraddins.codeplex.com/Wiki/View.aspx?title=Graph . |
|
|
7
1
在解决方案资源管理器的“资源视图”中,右键单击并选择“资源符号”。现在,您可以看到在.rc文件中使用了哪些资源常量。这可能有助于清理资源。虽然它没有显示在实际C++代码中没有使用哪些资源。 |
|
|
8
0
也许吧 Find Unused Resources in a .NET Solution 这里有帮助吗?基本上,您必须检查使用了哪些资源(例如,通过全面的代码覆盖率检查),并删除未使用的资源。 也许你不应该害怕使用跟踪和错误的方法来清理。 |
|
|
9
0
在 解决方案管理器 ,右键单击 参考文献 然后点击菜单项 查找依赖代码 . 如果它找不到任何依赖代码,则可以从项目中删除此引用。(The 去除 操作也在右键单击菜单下。) 编辑: 对于大型项目,查找相关代码操作将 长的 时间。既然你有2000个资源 价值 你的时间可能是 不 一个可行的选择…… |
|
|
10
0
对于C++资源,您是否尝试右键单击“资源视图”中的项目,然后删除它们旁边没有刻度标记的项目?删除未使用的对话框资源是不安全的,因为它们在代码中被引用为“枚举”(如下所示)。
但是对于其他人来说应该是安全的。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |