Подтвердить что ты не робот

Есть ли эквивалент g++ для Visual Studio __declspec (novtable)?

Есть ли эквивалент g++ для аргумента Visual Studio __declspec(novtable)?

В принципе, в чистом виртуальном базовом классе аргумент __declspec(novtable) может использоваться для подавления создания таблицы vtable для базового класса, а также для кода инициализации/деинициализации vtable в конструкторе/деструкторе соответственно. Например.

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

Подробнее см. статью Paul DiLascia. Также см. Мои связанные question.

4b9b3361

Ответ 1

Я не думаю, что есть один - если бы был, он был бы перечислен под страницей атрибутов типа руководства GCC. GCC использует атрибуты типа для добавления дополнительных аннотаций к типам (например, выравнивание и заполнение), но там нет атрибута типа, эквивалентного __declspc(novtable).

Я также не вижу флагов компилятора в параметрах командной строки, относящихся к этой оптимизации.