ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux下动态链接库调用时遇到的问题

Linux下动态链接库调用时遇到的问题

原创 Linux操作系统 作者:jasekidd 时间:2010-03-29 16:19:55 0 删除 编辑

最近因项目需要,开始在Linux下开发动态链接库以及调用。

其中遇到了个关于gcc与g++编译器的问题。

首先我对a.cpp文件用g++编译生成动态链接库a.so,

接着用gcc编译b.c文件来调用生成的a.so中的函数时,却出现找不到函数a( )的错误信息,但是该问题在我用g++编译的时候却不会出现,而且能够正常运行。

究其原因,从gcc编译后的汇编文件b.s看出,调用函数的名称为a();但是从g++编译出来的汇编文件b.s中却发现函数名称是_Z5aii(),看来是不同编译器对于函数名称有不同的处理。

于是我将b.c文件中要调用的a()函数改为调用_Z5aii()函数,竟然就正常编译通过了,果然是因为函数名称不同而找不到动态链接库中对应函数的问题~~~~~

终于把这问题解决了,项目的开发又可以进入下一阶段了,真是可喜可贺,希望师弟们加油,能够顺利把项目完成,顺利毕业^_^

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20741649/viewspace-630687/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-01-21

  • 博文量
    2
  • 访问量
    5997