我想写一个程序,可以根据一些输入属性自动插入输入C/C++代码。我正在寻找一个开始学习如何做的好地方(主要是关于如何做工具,在哪里做,等等)。我已经在网上搜索了一段时间了,没有任何好的运气。因此,如果有人能帮我找到一个好的起点,我将不胜感激。
谢谢
发布于 2012-04-30 06:00:35
如果您还没有找到它,这里有一个非常类似的问题,其中包含使用自定义LLVM Pass和GCC MELT的很好的想法:Instrumenting C/C++ code using LLVM
如果您正在寻找更简单的解决方案,请查看针对Basic Instrumentation and Profiling Framework for C++的基于预处理器的解决方案
发布于 2012-04-30 05:57:57
如果您使用的是Linux,并且您只想要系统API调用,请查看strace或阅读this question。
如果你想插装你自己的代码,事情就会变得更加棘手。分析器一直都在做这件事,但它们与编译器一起工作来添加插装。看起来,对于用户定义的插装,gcc支持某种形式的插装。参见this question。
我发现我很少需要对整个程序进行检测--通常只有几个关键区域需要它。在这种情况下,定义一些插入宏或添加一些#ifdef MY_TRACE ... #endif节会有所帮助。
https://stackoverflow.com/questions/10376298
复制相似问题