【问题标题】:Determining address memory of a library [closed]确定库的地址内存[关闭]
【发布时间】:2011-08-18 15:05:23
【问题描述】:

我想知道是否有人知道一些工具,它们可以告诉你用 C++ 编写的静态或动态库的地址内存(适用于 windows、linux 和 macos)。

谢谢

【问题讨论】:

  • 您是否想知道使用了多少内存,或者库在内存中的位置?现代操作系统已将库位置随机化,以使恶意软件更难利用它们。
  • 其实我觉得我给了一个不好的解释。我为 x86 和 x64 架构编译了 boost,我为 cpp-netlib 编译了库,当我运行我的代码时,我遇到了一些运行时错误,所以我想检查这个库是否是针对正确的架构编译的。我在这里有点过头了,所以请随时让我直截了当。谢谢。

标签: c++ c visual-studio-2010 gcc xcode4


【解决方案1】:

对于 Linux,您可以使用 readelf,它显示有关 ELF 文件的信息。您可以使用它来了解共享库(隐式加载的动态库)的地址以及所有静态符号的地址。但是,您不能将它用于在运行时显式加载的库。您也可以在 Linux 中关闭地址空间随机化。

【讨论】:

  • 谢谢,我会检查的。请阅读我上面的评论,以确保我们在同一页面上。
  • 我没有找到其他工具,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 2013-02-12
  • 2020-05-22
  • 2021-01-03
  • 1970-01-01
  • 2010-10-16
相关资源
最近更新 更多