Vedere this question per lo sfondo.Come istruire il compilatore a generare un alias per una funzione virtuale?
In sostanza, Ho la seguente definizione di una classe
class MyClass {
virtual int foo4(double, int);
};
Esiste un modo per indicare al compilatore di generare due simboli che avrebbero risolvere a foo4
? Cioè, voglio che se un eseguibile richiede il linker dinamico per risolvere _ZN7MyClass4foo4Edi
(simbolo per MyClass::foo4(double, int)
) e qualche altro simbolo (diciamo _ZN7MyClass9reserved1Ev
, un simbolo per MyClass::reserved1()
), il linker dinamico si risolverebbe entrambi su &MyClass::foo4(double, int)
. Sto usando GCC abbastanza moderno su Linux.
Solo per ragioni di completezza (è in un commento dal momento che hai chiesto di GCC e Linux), in VC++ è possibile farlo utilizzando pragma: http: // nikoniko-programming.blogspot.com/2010/09/aliasing-symbol-names-during-link-time.html – Asaf