假设我有一个插件,我使用gcc -fplugin = foo.so加载它...
是否有任何预定义符号或宏被定义,我可以用来有条件地编译插件所需的语言功能。
当然我可以在命令行上提供该宏,例如-Dplugin_foo_loaded。
但如果这些宏是由加载插件的行为生成的话会更好。
答案是什么?
答案 0 :(得分:0)
目前(GCC 4.9)你不能这样做,因为没有与预处理器相关的插件钩子。
我想最简单的方法是传递-DMYPLUGIN
。或者在插件中定义一些内置。
PS。如果您正在寻找有关GCC插件的一些教程资料,还可以考虑MELT和documentation(例如幻灯片GCC plugins thru the MELT example; Linux Foundation,2014年3月)