我有一个包含大量文件的项目,我想向每个文件中找到的每个函数添加一个简单的“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/