需要使用GCC插件收集有关翻译单元的必要信息,并在其基础上修改AST。 我已经了解了如何收集信息。但我还没有理解如何在将AST传递给CRT之前对其进行修改。关于这个主题的信息非常少。 请告诉我,我应该在这个问题上阅读什么?分享想法,链接。
感谢的。
P.S。 我已经阅读了这些链接上的所有内容:
http://en.wikibooks.org/wiki/GNU_C_Compiler_Internals/Print_version http://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/gccint/index.html#Top
答案 0 :(得分:1)
GCC测试套件包含此类修改的基本示例。请参阅http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/testsuite/gcc.dg/plugin/finish_unit_plugin.c和start_unit_plugin.c,了解如何创建var。不幸的是,对于更严重的修改,GCC源代码可能是您最好的选择。
答案 1 :(得分:0)
你是否因为这项努力而与GCC联系在一起? ROSE编译器专门用于执行源代码级修改,然后将生成的代码交给后端编译器。