在我的代码库中,我得到了很多函数声明,其中带了所有的指针作为参数。
void my_func(void* my_void_pointer)我需要在我的资料来源中找到所有的地方
例如,调用如下:
int* intpt=new int(10);
my_func(intpt);或
char* charpt = new char('a');
my_func(charpt);我需要这样做,因为通常my_func会对某些自定义类型执行reinterpret_cast,并且我想找出可能出错的地方,例如我的字节顺序更改。
我已经看过gcc_xml了,但是使用这个工具,我只能知道哪些函数是用哪些参数/参数类型定义的。当然,我现在可以用grep作为函数调用的源,但是我仍然不知道用哪种类型调用它们。知道从哪种工具开始吗?
发布于 2013-05-23 11:36:18
将参数重命名为非指针并重新编译.在调用函数时,您应该会得到类似于cannot convert int* to int或cannot convert char* to int之类的错误。
发布于 2013-05-23 11:10:04
从编译器开始。通过将my_func重命名为Xmy_func (或任何其他更改)并重新编译.编译器会告诉你它使用的每一个地方。
发布于 2013-05-23 11:36:29
您可以使用Clang工装编写一个小实用程序。
https://stackoverflow.com/questions/16712327
复制相似问题