c – 如何指示编译器为虚函数生成别名?

前端之家收集整理的这篇文章主要介绍了c – 如何指示编译器为虚函数生成别名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有关背景,请参阅this question.

基本上,我有一个类的以下定义

class  MyClass {
    virtual int foo4(double,int);
};

有没有办法指示编译器生成两个符合foo4的符号?也就是说,如果可执行文件要求动态链接器解析_ZN7MyClass4foo4Edi(MyClass :: foo4(double,int)的符号)和其他一些符号(比如_ZN7MyClass9reserved1Ev,MyClass :: reserved1()的符号),我想要动态链接器将解析为& MyClass :: foo4(double,int).我在Linux上使用相当现代的GCC.

最佳答案
在C中它看起来像这样:

class  MyClass {
    int foo5(double,int) __attribute__((alias("_ZN7MyClass4foo4Edi")));
    virtual int foo4(double,int);
};

int MyClass::foo4(double d,int i)
{
}
原文链接:https://www.f2er.com/linux/439913.html

猜你在找的Linux相关文章