c++ - 是否可以将 gcc 的链接器与 dlopen 结合使用?

标签 c++ linux gcc

所以,我有一个使用 xerces-c c++ 库的程序。我试图修改它以在程序运行时不要求库存在,因为它的某些部分可以独立运行。是否可以使用 dlopen() 加载库来完成此操作,同时仍然使用 gcc 中的链接器在编译时解析符号?也许我遗漏了一些东西,但 xerces-c API 似乎很难与 dlsym() 一起使用,这就是我试图找到解决方法的原因。

最佳答案

在这种情况下,最简单的解决方案是将您的程序分成两部分,一个没有 xerces-c 依赖关系的主程序,一个有依赖关系的共享库。然后您dlopen 您的共享库,它加载xerces 并使用它。通过这种方式,您基本上可以定义自己的库 API。

关于c++ - 是否可以将 gcc 的链接器与 dlopen 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078270/

相关文章:

c++ - 我的 QuickSort 代码不适用于 1000000+ 个元素(一百万个元素或更多)

作为类成员的 C++ 对象实例

linux - 在 ttymxc 上调用 open 函数时的 rcu_prempt

c++ - 编译器使用的 double 表示的显式规范

gcc - 无法在 ubuntu 中编译 cc、gcc |没有这样的文件或目录

c++ - unsigned char 在函数调用中自动提升为int,为什么?

c++ - 在 C++ 中实现心跳以检查套接字连接的最佳方法是什么?

linux - 将第一个字段作为前缀添加到文本文件中行中的所有其他字段

java - 如何从java程序(即以编程方式)将用户输入发送到终端?

c++模板递归双链表错误gcc(但clang++接受)