【问题标题】:ldd output showing shared object file whose function is not calledldd 输出显示未调用其函数的共享对象文件
【发布时间】:2011-02-08 17:20:30
【问题描述】:

我在 Open MPI 创建的可执行文件上运行了 ldd 命令。它显示了对 libpthread.so 的引用 使用 LD_PRELOAD 变量,我创建了自己的 pthread_create 实现,但从它的输出看来,MPI 实现没有像我预期的那样调用 pthread_create。 如果不使用 ldd 为什么会在输出中显示 pthread so 文件? Open MPI 不会为每个节点使用单独的 MPI 线程来实现功能吗?

【问题讨论】:

    标签: linux multithreading mpi ldd


    【解决方案1】:

    MPI 使用进程,而不是线程。所以不,Open MPI 不会为每个节点使用单独的 MPI 线程。

    【讨论】:

      【解决方案2】:

      如果二进制文件没有与--as-needed 链接,那么它将获取对链接命令行中给出的每个库的引用,无论它是否实际需要。将-Wl,--as-needed 传递给 gcc 以使其将选项传递给 ld。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 2014-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多