gpt4 book ai didi

c++ - 使两个函数在 C++ 中具有相同的内存地址

转载 作者:太空狗 更新时间:2023-10-29 21:13:48 24 4
gpt4 key购买 nike

我正在构建一些共享库来测试不同的算法。所有共享库的 header 应如下所示:

extern "C" {
void f1(params);
void f2(params);
}

其中两个函数具有完全相同的参数。

在其中一个实现中,我意识到我需要有 f1 == f2,但我希望它们共享相同的内存空间。

有办法吗?我知道函数指针通常可以解决问题,但这次我需要遵循共享库标准。

最佳答案

它是特定于平台的。对于 GCC,您可以这样做:

extern "C" {
void f1(params);
void f2(params) __attribute__((weak, alias("f1")));
}

引用:https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

关于c++ - 使两个函数在 C++ 中具有相同的内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42886517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com