【问题标题】:How to see exactly what is linked into my program?如何准确查看链接到我的程序中的内容?
【发布时间】:2017-02-04 04:35:34
【问题描述】:

是否可以在 Linux 中使用命令行实用程序来确定链接到我的可执行文件的内容?

一种证明我没有静态或动态链接到另一段特定代码的方法。

【问题讨论】:

  • 你看过ldd吗?我认为这就是您想要的,但不确定我是否理解这个问题。
  • 是的,这正是我想要的,但它只做 .so 文件/动态链接,对吧?
  • stackoverflow.com/questions/1124571/… 有一个建议(使用 nm),但这不是超级有用。如果您想真正证明这一点,您可以尝试在没有相关“特定代码”的“干净”环境中编译/链接/运行。

标签: linux build linker


【解决方案1】:

如 cmets 中所述 - 对于动态链接,您有 ldd。

但是,如果您想查看静态链接库,会变得很困难,并且取决于您的设置: 如果您拥有源代码,则接受的答案:

是你的朋友。

如果没有,您至少必须知道哪些库被怀疑是静态链接的。

如果您拥有庞大的代码库并且需要提供法律证据,您可以使用像 black duck 这样的软件,它会检查开发人员是否复制了不匹配许可证的源代码。

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多