如何查找从中导入C ++程序中的特定功能?

时间:2017-10-24 20:51:52

标签: c++ import include header-files

所以我有一个在C ++程序中使用的函数my_func。我以为我知道从哪里导入它,但修改(我认为是)源文件中的函数并没有导致我的C ++程序的任何运行时更改。这让我觉得这个函数可能是从我不知道的其他地方导入的。我有可能找出从哪里导入my_func吗?

2 个答案:

答案 0 :(得分:0)

最简单的方法是不要链接提供它的东西。这将为编译器提供有关未找到项目的诊断,以及文件的一些概念(以及它所需的功能)。

答案 1 :(得分:0)

1 /具有relunctant功能的源文件是同一个可执行文件的一部分,还是它是dll的一部分? 如果它是一个DLL,一个非常常见的错误是编译和链接没有问题,但实际复制文件不起作用,因为dll已被使用。或者您已经在另一种模式下编译和链接(发布与调试,32与64 ...)。

2 / grep&等基本工具在linux下找到你的朋友: 找 。 -name'* .hpp'-print0 | xargs -0 grep -n'my_func'

即使在非常大的代码基础上(2百万行或更多),这也不应超过分钟

3 /在visual studio上,您可以缩小搜索包含标题的范围,使用选项/ showIncludes列出您的cpp文件:它以递归方式列出所有包含标题。您的my_func必须在其中一个标题中声明