该/OPT:REF选项导致Visual C++链接器
排除从未引用的函数和/或数据
(MSDN)
这似乎是识别遗留代码库中过时代码的好方法.有没有办法让链接器输出被删除的内容?
在 / OPT(优化)中,备注部分指出:
您可以使用/ VERBOSE选项查看/ OPT:REF删除的函数以及/ OPT:ICF折叠的函数.
我还没有尝试过将它用于你的目的.
此外,如果采用@JamesMcNellis 回答给出的路由,您可能需要参考SO问题641826来消除编译器生成的符号.
这并不理想,但是...
您可以进行两种构建,一种是有的/OPT:REF,一种是没有的,然后运行dumpbin /symbols生成的二进制文件,解析出符号,并对结果进行比较。诀窍是清除库符号,这样你就只剩下你的符号了。由于您最终会得到一份损坏的名称列表,因此它不会很漂亮。
我不知道有什么方法可以让链接器告诉你它正在删除什么。