红联Linux门户
Linux帮助

linux下静态加载一个动态库出现的问题

发布时间:2008-08-07 01:14:57来源:红联作者:Xuehai
最近在工作中碰到一个问题,虽然问题已经解决,但是还是不太明白具体原因,为什么会出现这个问题。

程序结构:有两个动态库A.so和B.so, 并且A.so静态加载了B.so。同时A和B同时有一个相同的类C, (为了下边的清晰暂且叫AC类和BC类,其实就是一个类), BC类新添加函数fun1, AC和BC相同的函数fun。 B中有一个C的实例objectBC。fun和fun1内容为:

锟斤拷锟斤拷:
void AC::fun(void)
{
cout<<"AC::fun"<}

void BC::fun(void)
{
cout<<"BC::fun"<}

void BC::fun1(void)
{
cout<<"BC::fun1"<}


问题描述:
objectBC分别调用fun和fun1两个函数, 函数输出:
AC::fun //为什么不是BC::fun
BC::fun1

解决方法:BC类加到一个命名空间内。
文章评论

共有 0 条评论