Ver this question para el fondo.¿Cómo se le ordena al compilador que genere un alias para una función virtual?
Básicamente, tienen la siguiente definición de una clase
class MyClass {
virtual int foo4(double, int);
};
¿Hay una manera de dar instrucciones al compilador para generar dos símbolos que resolverían a foo4
? Es decir, quiero que si un ejecutable solicita que el enlazador dinámico resuelva _ZN7MyClass4foo4Edi
(símbolo para MyClass::foo4(double, int)
) y algún otro símbolo (digamos _ZN7MyClass9reserved1Ev
, un símbolo para MyClass::reserved1()
), el enlazador dinámico se resolverá en &MyClass::foo4(double, int)
. Estoy usando GCC bastante moderno en Linux.
Sólo por el bien de la integridad (está en un comentario ya que preguntas acerca de GCC y Linux), en VC++ puede hacerlo utilizando pragmas: http: // nikoniko-programming.blogspot.com/2010/09/aliasing-symbol-names-during-link-time.html – Asaf