如何使用G ++抑制纯虚拟类的C++ vtable生成?

fin*_*ncs 8 c++ gcc virtual-functions g++ vtable

可以使用该__declspec(novtable)属性在MSVC中完成抑制C++ vtable生成.但是,似乎GNU C++编译器没有等效属性.事实上,将vtable留给纯虚拟类不必要地链接到__cxa_abort()许多其他类,我想避免这种情况发生,因为我正在为嵌入式系统编程.所以我该怎么做?

struct ISomeInterface
{
    virtual void Func() = 0;
};

class CSomeClass : public ISomeInterface
{
    virtual void Func();
}

void CSomeClass::Func()
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ave 3

有一些东西可以达到类似的结果: #pragma interface
#pragma implementation然而,可以覆盖这一点。
http://www.emerson.emory.edu/services/gcc/html/CPP_Interface.html