有没有办法在不使用libdl.so的情况下通过C中的源代码实现dlopen?

时间:2017-11-06 10:00:00

标签: linux linker shared-libraries

因为dlopen使用libdl.so,但我正在使用不支持OS支持的独立应用程序,所以我的想法是直接使用编码来实现dlopen

1 个答案:

答案 0 :(得分:0)

加载共享库本质上取决于操作 系统的运行时加载器,以及操作系统的可执行文件格式及其过程构建模型。没有与操作系统无关的方法。

GNU source code of dlopen当然是 免费提供,但这并不能使其独立于操作系统。

您可以通过以下方式获得在C中可以实现的最大OS独立程度 限制自己使用可以完全用 Standard C Library的资源。标准C库不包含 dlopen或任何等效功能,因为这样的功能是 本质上依赖于操作系统。

由于您的问题标记为Linux,因此您不希望自己需要应用程序 独立于Linux提供的操作系统支持。