Как подавить генерацию таблиц C++ для чистых виртуальных классов с помощью G++?

Подавление генерации таблиц C++ может быть сделано в MSVC с помощью атрибута __declspec(novtable). Однако, похоже, что эквивалентного атрибута для компилятора GNU C++ не существует. Дело в том, что оставление vtables для чистых виртуальных классов без необходимости приводит к __cxa_abort() и многим другим, а я хочу избежать этого, поскольку программирую для встраиваемой системы. Итак, что мне делать?

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

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

void CSomeClass::Func()
{
    //...
}

8
задан Community 23 May 2017 в 12:01
поделиться