首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC插件API :双关

GCC插件API :双关
EN

Stack Overflow用户
提问于 2018-07-15 05:00:56
回答 1查看 379关注 0票数 0

我一直在寻找GCC插件的在线资源。我目前正在使用GCC 7.3.0版本。我尝试编写一个简单的插件,其中包含一个回调,这个回调将在PLUGIN_FINISH_TYPE上调用。效果很好。

接下来,我试图编写一个插件,它使用类似于列出的这里示例的"gimple pass“。然而,struct gimple_opt_pass似乎并不存在。

我试图查找声明此结构的头文件。我发现该树-pass.h有以下代码块:-

代码语言:javascript
复制
/* Description of GIMPLE pass.  */
class gimple_opt_pass : public opt_pass
{
protected:
  gimple_opt_pass (const pass_data& data, gcc::context *ctxt)
    : opt_pass (data, ctxt)
  {
  }
};
  1. 我怎么能从我的插件里看到这个?我似乎无法像上面的链接所描述的那样以这种方式使用它。
  2. 使用当前的GCC插件API,是否可以编写一个纯C插件(而不是必须使用C++)。
EN

回答 1

Stack Overflow用户

发布于 2018-07-16 18:06:38

我找到了答案。GCC插件的API从4.8急剧变化到4.9。UpTum4.8,gimple_opt_class是一个可以创建register_pass_info实例并与之一起使用的结构。从4.9开始,它是一个您需要继承、创建register_pass_info实例并与之一起使用的类。

为了能够使用GCC的纯C插件,下面的版本似乎使用了API,其中包含4.8才是解决方案。4.6似乎对我很好,但它似乎有调试/转储功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51345403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档