据我所知,C++/MSVC 中没有这样的功能。
但是,Windows 的 AQTime 分析器具有“静态分析”选项(如果我没记错的话)扫描已编译的可执行文件、生成调用图并向您显示无法访问的函数。
如果我没记错的话,AQtime 集成到了视觉工作室(专业版,afaik)。
不幸的是,这是一个价格约为 500 美元的商业分析器,并且此功能在试用版中不可用。上次我使用静态分析是在 3..4 年前,我现在不完全记得细节(而且我再也无法访问 AQTime)。无论如何,它是一个专门的工具,所以我不建议您购买它,除非您正在优化代码以实现 24/7 速度。
也许,通过谷歌搜索“静态分析”、“代码覆盖率”或研究其他分析器,您会发现有些类似的工具可以免费完成这项工作。
除此之外,doxygen 可以为 C++ 代码生成调用图。如果是 doxygen,您将不得不寻找从未调用过的函数。
此外,Visual Studio 2008 有一个内置的调用者图表功能(我认为它使用了智能感知)。基本上,你右键单击任何函数并选择“显示调用者”(或类似的东西),这将在一个窗口中打开所有函数的列表(visual studio THINKS 正在调用你的函数)。因为这个特性在 VS2008 中已经存在,所以它应该包含在 VS2010 中。但是,由于明显的原因(虚拟方法、回调等),它无法检测到每个调用者。