延迟共享库的链接
Deferring linking of shared libs
如果我在 Linux 中使用共享库,如果应用程序必须在运行时找到库,为什么我需要将其与 -l 链接?
我不能在链接步骤中传递一个带有正确函数签名的虚拟 .so 并在运行时将其替换为真正的 .so 并且仍然让它正常工作吗?
有没有办法只用头文件编译应用程序并在运行时进行链接?
如果我在 linux 中使用共享库,如果应用程序必须在运行时找到该库,为什么我需要将其与 -l 链接?
这样加载程序就知道在运行时必须加载哪些库。
我不能在链接步骤中传递一个带有正确函数签名的虚拟 .so 并在运行时将其替换为真正的 .so 并且仍然让它正常工作吗?
绝对。
有没有办法只用头文件编译应用程序并在运行时进行链接?
是的,但是您有责任调用dlopen(3)
并dlsym(3)
自己加载库和函数。
相关文章:
- 链接共享库依赖项未在 ldd 中列出
- Gradle cpp 插件不链接共享库
- 从大型 github 项目链接共享库
- 如何在工具ROS中链接共享库
- Linux C++.链接共享对象和主对象
- 共享对象与提升program_options静态链接;应用程序链接共享
- G++ 5.5 不链接共享库
- 根据用户配置在运行时链接共享对象
- 在静态库中链接失败,但链接共享库成功
- G 无法链接共享对象的静态版本
- 仅当标头在 CMake 中更改时,才重新链接共享库
- 动态链接共享库中的全局变量和静态变量会发生什么情况
- CMake:从外部项目链接共享C++对象会生成具有相对路径的二进制文件,而不是绝对路径
- 在VirtualBox的共享文件夹中构建符号链接共享库
- 编译对象后链接共享库时出错
- 如何通过GNU Autotools链接共享库
- 如何以正确的方式编译和链接C/ c++共享对象库
- 无法链接共享对象
- 在 R 包中生成和链接共享库 - 代码编译、链接,但不会加载
- 如何在cmake中链接共享对象