gpt4 book ai didi

c++ - 如何在 C++ 中查找函数的所有调用者?

转载 作者:IT老高 更新时间:2023-10-28 22:15:41 26 4
gpt4 key购买 nike

我正在用 C++ 重构一些代码,并且我想弃用一些旧方法。我目前查找所有方法的方法如下所示:

  1. 注释掉我正在工作的源文件中的原始方法。
  2. 尝试编译代码。
  3. 如果发现编译器错误,则记下该调用并尝试重新编译。
  4. 编译成功后,我找到了所有的调用。

这完全糟透了。我还尝试使用 grepping source 来获取函数调用的名称,但有时我会遇到具有不同参数的同名函数的问题,因此我的编译使 C++ 编译器为我解析名称。我找到了this question对于 C#,但我的代码库完全用 C++ 实现。

有没有更好的方法在 C++ 中找到类方法或函数的所有调用者?我在 Unix 系统上使用 GCC,但跨平台解决方案将是最高级的。

最佳答案

GCC 允许您使用 __attribute__((deprecated)) 修饰变量、函数和方法,这将在所有调用站点上引起警告(除非给出 -Wno-deprecated-declarations)。

class A {
public:
A() __attribute__((deprecated)) {}
};
int main() {
A a;
}
$ g++ test.ctest.cc: In function ‘int main()’:test.cc:6: warning: ‘A::A()’ is deprecated (declared at test.cc:3)

关于c++ - 如何在 C++ 中查找函数的所有调用者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com