gcc预处理器能否知道插件是否已加载

时间:2014-10-30 17:33:13

标签: gcc

假设我有一个插件,我使用gcc -fplugin = foo.so加载它...

是否有任何预定义符号或宏被定义,我可以用来有条件地编译插件所需的语言功能。

当然我可以在命令行上提供该宏,例如-Dplugin_foo_loaded。

但如果这些宏是由加载插件的行为生成的话会更好。

答案是什么?

1 个答案:

答案 0 :(得分:0)

目前(GCC 4.9)你不能这样做,因为没有与预处理器相关的插件钩子。

我想最简单的方法是传递-DMYPLUGIN。或者在插件中定义一些内置。

PS。如果您正在寻找有关GCC插件的一些教程资料,还可以考虑MELTdocumentation(例如幻灯片GCC plugins thru the MELT example; Linux Foundation,2014年3月)