【发布时间】:2023-03-15 13:46:01
【问题描述】:
我想将两个 .so 相互链接。 场景是: 1) 两个 .so 中都定义了同名的方法(例如 void fun() ) 2)假设我们从第一个.so调用这个方法,那么调用应该转到第二个.so中定义的方法
这怎么可能?
// Module 2
#include <stdio.h>
void fun();
void fun()
{
printf(""from 2nd .so\n"");
}
// Module 1
#include <stdio.h>
void fun();
void fun()
{
printf("from 1st .so\n");
}
int main()
{
fun();
return 0;
}
【问题讨论】:
-
In c 是不可能的。在 C++ 中,您可以覆盖函数,但您必须传递不同的参数。
-
您的
.so中有一个main()入口点?那应该如何工作?
标签: c++ c linker static-linking dynamic-linking