相关疑难解决方法(0)

为什么某些共享库以及如何运行,就好像它们是可执行文件一样?

在 32 位 Linux 系统上,调用这个

$ /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)

而在 64 位系统上,这

$ /lib/x86_64-linux-gnu/libc.so.6
Run Code Online (Sandbox Code Playgroud)

在 shell 中,提供如下输出:

GNU C Library stable release version 2.10.1, by Roland McGrath et al.
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.0 20090506 (Red Hat 4.4.0-4).
Compiled on a Linux >>2.6.18-128.4.1.el5<< system on 2009-08-19.
Available extensions:
    The C …
Run Code Online (Sandbox Code Playgroud)

linux version executable glibc shared-library

70
推荐指数
2
解决办法
3万
查看次数

静态链接器、动态链接器、加载器和动态加载器的可执行 ELF 文件分别是什么?

在Linux中,可执行的ELF文件分别是什么

  • 静态链接器
  • 动态链接器
  • 装载机
  • 动态加载器?

其中哪些被调用

  • 经过 execve()
  • 通过dlopen()

他们如何援引execve()或者dlopen(),解决了鸡-蛋的问题,execve()dlopen()用于调用可执行文件?

谢谢。

linux linker load dynamic-linking dynamic-loading

2
推荐指数
1
解决办法
791
查看次数