Zobacz tło w tle jako this question.Jak nakazać kompilatorowi wygenerowanie aliasu dla funkcji wirtualnej?
Zasadniczo mam następującą definicję klasy
class MyClass {
virtual int foo4(double, int);
};
Czy istnieje sposób, aby poinstruować kompilator generuje dwa symbole, które są rozpoznawane jako foo4
? To znaczy, chcę, aby plik wykonywalny poprosił dynamicznego linkera o rozstrzygnięcie _ZN7MyClass4foo4Edi
(symbol dla MyClass::foo4(double, int)
) i jakiegoś innego symbolu (powiedzmy _ZN7MyClass9reserved1Ev
, symbolu dla MyClass::reserved1()
), dynamiczny linker rozstrzygnie zarówno na &MyClass::foo4(double, int)
. Używam dość nowoczesnego GCC na Linux.
Tylko dla kompletności wywodu (jest to w komentarzu skoro pytasz o GCC i Linux), w VC++ można to zrobić przy użyciu pragma: http: // nikoniko-programming.blogspot.com/2010/09/aliasing-symbol-names-during-link-time.html – Asaf