我可以看到Visual C++/OPT:REF链接器选项消除了什么吗?

Aid*_*yan 3 linker visual-c++

/OPT:REF选项导致Visual C++链接器

排除从未引用的函数和/或数据

(MSDN)

这似乎是识别遗留代码库中过时代码的好方法.有没有办法让链接器输出被删除的内容?

bgo*_*odr 7

/ OPT(优化)中,备注部分指出:

您可以使用/ VERBOSE选项查看/ OPT:REF删除的函数以及/ OPT:ICF折叠的函数.

我还没有尝试过将它用于你的目的.

此外,如果采用@JamesMcNellis 回答给出的路由,您可能需要参考SO问题641826来消除编译器生成的符号.


Jam*_*lis 3

这并不理想,但是...

您可以进行两种构建,一种是有的/OPT:REF,一种是没有的,然后运行dumpbin /symbols生成的二进制文件,解析出符号,并对结果进行比较。诀窍是清除库符号,这样你就只剩下你的符号了。由于您最终会得到一份损坏的名称列表,因此它不会很漂亮。

我不知道有什么方法可以让链接器告诉你它正在删除什么。