【问题标题】:need a circular dependency between shared (.so) libraries需要共享(.so)库之间的循环依赖关系
【发布时间】:2014-06-04 06:12:23
【问题描述】:

我有几个共享库,按以下顺序加载以解决依赖关系:libA.solibMyStuff.solibB.so,其中我只有libMyStuff.so 的源。现在我需要从libMyStuff.so 中的函数调用libB.so 中的函数。 (让我们抛开在最终版本中保留这种依赖关系是否好的问题,我现在需要的是这个。)

如何让两个.so 库互相调用?

我使用 gcc C/C++、ARM、Android NDK。

【问题讨论】:

  • 你的问题没有意义。共享库可以像可执行文件调用共享库一样相互调用。
  • @MaximYegorushkin AFAIK 在 Android 上调用 loadLibrary() 时,新库中引用的所有函数都必须在已加载的库中,否则会得到不满意的链接错误。至少这是我所看到的。有什么办法解决这个问题吗?

标签: linux gcc android-ndk shared-libraries embedded-linux


【解决方案1】:

您可以使用动态链接,请参阅dlsym

【讨论】:

    猜你喜欢
    • 2019-09-07
    • 1970-01-01
    • 2021-12-21
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2012-05-23
    • 2012-03-24
    相关资源
    最近更新 更多