在我的代码库中,我有很多以空指针作为参数的函数声明
void my_func(void* my_void_pointer)
我需要在我的资源中找到所有地方
- 调用 my_func 的地方
- (更重要的是)以哪种类型作为参数。
例如这样的调用:
int* intpt=new int(10);
my_func(intpt);
或
char* charpt = new char('a');
my_func(charpt);
我需要这个,因为通常 my_func 会对某些自定义类型执行 reinterpret_cast
,我想找出可能出错的地方,例如,如果我的字节顺序发生变化。
我已经看过 gcc_xml,但是使用这个工具我只能找出哪些函数是用哪些参数/参数类型定义的。当然,我现在可以 grep 这些函数的函数调用源,但我仍然不知道它们是用哪种类型调用的。知道从哪个工具开始吗?
最佳答案
从您的编译器开始。将 my_func
重命名为 Xmy_func
(或任何其他更改)并重新编译...编译器会告诉您使用它的每个地方。
关于c++ - 解析 C++/跟踪 void 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16712327/