是否有一个与Visual Studio的__declspec(novtable)相当的g ++?

时间:2009-11-24 04:20:32

标签: c++ visual-studio g++ compiler-construction

是否有与Visual Studio的__declspec(novtable)参数等效的g ++?

基本上,在纯虚基类中,__declspec(novtable)参数可用于抑制为基类创建vtable以及分别在contstructor / destructor中创建vtable初始化/取消初始化代码。如,

class __declspec(novtable) PureVirtualBaseClass
{
    public: 
       PureVirtualBaseClass(){}
       virtual ~PureVirtualBaseClass() = 0;
};

有关详细信息,请参阅Paul DiLascia's article。另请参阅我的相关question

1 个答案:

答案 0 :(得分:9)

我认为没有 - 如果有,它将列在GCC手册的type attributes page下。 GCC使用类型属性向类型添加额外注释(例如对齐和填充),但没有类似于__declspc(novtable)列出的类型属性。

我也没有在man page中看到与此优化相关的任何编译器标志。