c++ - 使用 C/C++ 检测函数

标签 c++ c function parsing

我有一个包含大量文件的项目,我想向每个文件中找到的每个函数添加一个简单的“printf”命令。请分享您关于如何以编程方式检测函数的想法。

最佳答案

虽然我讨厌成为那个人并立即告诉你你做错了,而且我不知道你到底想用这个实现什么(愿意进一步解释吗?),您将使用调试器或分析器更深入地了解您的代码。如果您想查看导致程序中某个事件(例如崩溃)的所有函数调用,请尝试使用 gdb。如果您想了解函数调用频率的统计信息,请查看 Valgrind 或 gprof 之类的工具。以下问题详细讨论了 C++ 分析:

What can I use to profile C++ code in Linux?

但是,如果您真的决定将 printf 放入每个函数中,我会使用执行 C++ 解析的第三方工具。尝试自己编写正则表达式来解析 C++ 将是一个令人沮丧的练习。

CScope 可能是最简单的“现成”解决方案:http://cscope.sourceforge.net/ 请注意,它可能会在处理大量模板编程的 C++ 代码时遇到问题。

如果您想在这方面投入更多时间,使用开源 clang 编译器开发解决方案将使您能够做出真正全面的东西。查看http://clang.llvm.org/

您正在做的事情的大致示例:Get list of methods in class using clang

希望有帮助...

关于c++ - 使用 C/C++ 检测函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22034058/

相关文章:

c++ - 在保证复制省略的情况下,为什么需要完全定义类?

c++ - 如何为多个接口(interface)实现一个多态参数?

无法使用函数编辑值

c - KDBG 监视所有 arg 变量

c - 这种行为是否符合 clang 标准?

c++ - 如何在类函数中将一个数组分配为另一个数组

脚本文件中未定义 JQuery 函数

c++ - 回文函数(字符串、堆栈、队列)

C++ 指针指向这段代码中的指针解释

objective-c - 指针和opengl绘图的问题