Есть ли эквивалент 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.
Ответы
Ответ 1
Я не думаю, что есть один - если бы был, он был бы перечислен под страницей атрибутов типа руководства GCC. GCC использует атрибуты типа для добавления дополнительных аннотаций к типам (например, выравнивание и заполнение), но там нет атрибута типа, эквивалентного __declspc(novtable)
.
Я также не вижу флагов компилятора в параметрах командной строки, относящихся к этой оптимизации.