1

我已经使用 Visual Studio 2005 好几年了,通常项目会不断增长,但现在我有一个项目正在缩小规模,我要拿走其中的很大一部分(几乎一半)......我希望通过删除入口点函数,编译器会给我一个未引用函数列表,然后我将删除这些函数,依此类推,直到完全删除整个不需要的代码......但令我惊讶的是,没有列出“未引用函数” .

我记得在 Turbo C 的旧时代,如果有一个没有在任何地方调用的函数,编译器会立即抗议......我不明白为什么 Visual Studio 没有这个功能,我已经检查了整个属性页面并且找不到可以帮助我以系统方式摆脱死代码的东西。

Visual Studio 可以检测到死代码吗?如果是这样,我该如何启用这样的功能?

4

2 回答 2

0

您是否尝试启用 4 级警告?默认情况下,死代码不会链接到二进制文件中,但您可以在每次发生这种情况时启用警告:http: //msdn.microsoft.com/en-us/library/z85eyax0 (v=vs.71).aspx

于 2013-03-29T18:24:29.803 回答
0

您可以使用代码覆盖率来确定正在使用程序的哪些部分。当然,您必须小心,因为只考虑在检测运行中采用的代码路径。但无论如何,这可以证明是解决问题的良好开端。

Visual Studio 2010 本机 C++ 代码覆盖着色不起作用

我认为您在 Visual Studio 2005 中没有 C++ 代码覆盖率,但您可以尝试将您的解决方案转换为较新的版本。

http://msdn.microsoft.com/en-us/library/dd537628.aspx

于 2013-03-29T18:21:47.493 回答