Soppressione La generazione di vtable C++ può essere eseguita in MSVC utilizzando l'attributo __declspec(novtable)
. Tuttavia, sembra che there is no equivalent attribute per il compilatore GNU C++. Il fatto è che lasciando i vtables per le classi virtuali pure collegamenti inutilmente in __cxa_abort()
e molti altri, e voglio evitare che ciò accada perché sto programmando per un sistema embedded. Quindi cosa dovrei fare?Come si sopprime la generazione di vtable C++ per le classi virtuali pure che usano G ++?
struct ISomeInterface
{
virtual void Func() = 0;
};
class CSomeClass : public ISomeInterface
{
virtual void Func();
}
void CSomeClass::Func()
{
//...
}