根据this articlegcc在生成代码之前使用了几种中间格式。我读到gimple格式使用三个地址码,这似乎是最容易使用的中间语言。但我需要更多的细节,因为我需要建立一个工具,可以采取中间代码,并插入一些代码,然后再生成最后的代码。
为此,我首先需要知道如何生成gimple格式的代码并将其保存在文件中。所以我要找一些文件和例子。另外,如果有人处理过这样的事情,我能知道这个任务的复杂性,那就是把一些代码插入中间代码?
最佳答案
您可能会发现为gcc编写plugin更容易,这将允许您挂接gimple生成并在gcc中修改它,这将减少保存、编辑然后尝试从gimple表单编译的停机时间。MELT就是这样一个插件(尽管它提供的方式不仅仅是改变低级表示)。还有一个很好的pdfhere关于gimple-changing插件。
否则,您可以查看here以了解gcc的gimple是如何工作的。
就倾倒装置而言:
您可以请求使用-fdump tree gimple标志转储gimple表单的类c表示。
关于c - 使用gcc的中间GIMPLE格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9099391/