有没有办法将 Linux 共享库加载到特定的内存位置?

2023-12-08

我有一个 Linux 应用程序,它在运行时加载非常小的(一些小函数)共享库。由于各种重要原因™,我需要将共享库加载到特定的虚拟内存范围。然而,dlopen()没有提供任何方法(我可以看到)来告诉它或提示它,将其加载的内容放在哪里。

有没有办法告诉dlopen()它应该把加载的库放在哪里?

有什么替代方案吗dlopen()哪个可以提供该功能?


我认为如果您愿意修改库,预链接程序实际上可能会演示一种执行此操作的方法。目标是修改库,使其具有首选地址。预链接的目的是为了提高性能,但我怀疑它可以修改以适合您的用例。 请注意,您永远无法保证这种情况会在一般情况下发生,但在受控情况下,您也许能够保证它会发生。 当然,检查 prelink 将使您了解 elf 所涉及的部分,并就其是否可能做出更明智的决定。http://en.wikipedia.org/wiki/Prelink# Or see http://packages.qa.debian.org/prelinkDebian 中的源代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法将 Linux 共享库加载到特定的内存位置? 的相关文章

随机推荐

  • 熟悉 MVC - 如何使用会话逻辑、附加类和后台逻辑

    在编写 PHP 代码时 我决定放弃意大利面条式代码并尝试实现 MVC 为了实现MVC框架 我发泄本文文章给了我一个良好的开端 我成功地创建了我的网站并开发了前端 现在 我正在尝试使用会话和其他会员区功能来实现后端 我的大脑充满了新信息 我的
  • 查找两个字符串数组之间的非公共元素

    有一个问题是如何找到两个字符串数组之间的非公共元素 例如 String a a b c d String b b c O p should be a d 我已经尝试过以下方法 但请告知是否有其他有效的方法来实现相同的目标 String a
  • TLabel 和 TGroupbox 标题在调整大小时闪烁

    所以 我有一个应用程序加载不同的插件并创建一个 每个 TPageControl 上都有一个新选项卡 每个 DLL 都有一个与其关联的 TForm 创建表单时将其父级 hWnd 作为新的 TTabSheet 由于就 VCL 而言 TTabSh
  • WebResource.axd 不适用于 Internet Explorer 11

    我们正在针对新的 Windows 8 1 IE 11 浏览器 classic 和 Metro 测试我们的网站 有一个Javascript文件嵌入WebResource axd The WebResource可以在 Firefox Googl
  • 将 H2 数据传输到 PostgreSQL

    我正在从 H2 数据库过渡到 PostgreSQL 据我发现 在 H2 上执行 SCRIPT TO 命令时创建的 SQL 转储包含几个不适当的结构 Unicode 数据用函数 STRINGDECODE unicode data 包装 二进制
  • 将OutputStream发送到浏览器并让浏览器保存它[重复]

    这个问题在这里已经有答案了 我想从 Rich Faces 数据表导出数据 我已经从数据表中的数据创建了outputStream 现在想将这个OutputStream发送到浏览器并让它保存 我怎样才能做到这一点 FileOutputStrea
  • 无法在无 cookie Web 应用程序上创建 asp.net 会话

    我有一个无cookie的基于asp net 4 5的网络应用程序
  • HTML5 localStorage 不适用于 Android WebView

    我正在使用 Buzztouch 为客户端制作移动应用程序 因此 html 页面不在应用程序内 它们是通过 JSON 从服务器加载的 客户希望应用程序上有一个屏幕 用户可以在其中将详细信息输入时间表并将其存储在手机上 我尝试使用 localS
  • 如何计算Android应用程序中两点之间的距离

    在我的应用程序中 我试图计算一个人从一个地方到另一个地方的旅行距离 为此 我使用半正矢公式 R earth s radius mean radius 6 371km lat lat2 lat1 long long2 long1 a sin
  • 为什么线程不停止?

    我的服务生成一个新线程 并根据通常推荐java中断 的方法 当我停止服务时 我会在 onDestroy 中停止线程 服务停止 到达中断代码 然而 很快线程就会从 Runnable 的开头重新启动 public class DoScan ex
  • 使用欧氏距离在 numpy 数组列表中查找 numpy 数组的最近邻居

    我有一个 n 维向量 我想使用欧几里得距离在 n 维向量列表中找到它的 k 个最近邻 我编写了以下代码 k 10 它可以工作 但运行速度太慢 我想知道是否有更优化的解决方案 def nearest neighbors value array
  • MVVM 将 RelayCommand CanExecute 绑定到属性?

    我有一个计时器和三个按钮来控制它 开始 停止和暂停 每个按钮都绑定到一个 RelayCommand 我有一个 TimerState 类型的属性enum TimerState 这对于设置各种 GUI 元素很有用 有没有办法以某种方式将 Rel
  • 根据空格或“双引号字符串”将字符串解析为数组

    我试图获取用户输入字符串并解析为一个名为 char entire line 100 的数组 其中每个单词都放在数组的不同索引处 但如果字符串的一部分用引号封装 则应将其放在单个索引中 所以如果我有 char buffer 1024 0 fg
  • 无法获取托管类型的地址、获取其大小或声明指向托管类型(“类型名称”)的指针

    如果我的结构中有一个或多个 System String 此错误将停止编译还有其他方式存储字符串吗 我尝试过这样的事情 private long B ID private byte C Name private byte C Address
  • 互斥体未释放

    我的 c WinForm 解决方案包含多个项目 其中包括包含 frmAdmin 的管理项目和包含 frmUser 的用户项目 第三个项目包含 frmTimer 它有一个定期启动 frmUser 的计时器 我希望 frmTimer 在 frm
  • 仅使用生产证书时无法注册推送通知

    使用开发证书时 推送通知工作正常 当我在临时发行版中切换到生产证书时 应用程序无法注册推送通知 在 UIApplicationDelegate 中 两者都没有didRegisterForRemoteNotificationsWithDevi
  • Java Swing,尝试用图像图标复选框替换 JTable 中的布尔复选框

    所以我有一个带有复选框的 JTable 我希望复选框在 选中 时包含一个图像 在 未选中 时包含另一图像 即显示图像而不是选中或未选中的框 有没有办法做到这一点 我尝试过使用 TableCellRenderer 返回带有 ImageIcon
  • 自反传递闭包的定义

    许多谓词本质上使用某种形式的传递闭包 只是发现终止也必须得到解决 为什么不一劳永逸地解决这个问题closure0 3 meta predicate closure0 2 meta predicate closure 2 meta predi
  • 第 n 个范围的 CSS 选择器?

    如何调整下面的 CSS 选择器 myTableRow td nth child background color FFFFCC 所以它适用于td列2 4 table tr class myTableRow td column 1 td td
  • 有没有办法将 Linux 共享库加载到特定的内存位置?

    我有一个 Linux 应用程序 它在运行时加载非常小的 一些小函数 共享库 由于各种重要原因 我需要将共享库加载到特定的虚拟内存范围 然而 dlopen 没有提供任何方法 我可以看到 来告诉它或提示它 将其加载的内容放在哪里 有没有办法告诉