我正在开发一个项目,该项目有多个相似的代码路径,我想将它们从主项目中分离到插件中。该项目必须保持跨平台兼容,我研究过的所有动态库加载 API 都是特定于平台的。
创建一个无需额外修改代码即可在多个操作系统上编译和运行的动态库加载系统的最简单方法是什么?理想情况下,我想编写一个插件,并让它在项目支持的所有操作系统上运行。
谢谢。
最佳答案
您必须为加载系统 使用平台相关代码。在 Windows 上加载 DLL 与在 Unix 上加载共享对象是不同的。但是,通过几个 #ifdef
,您将能够在加载程序中拥有大部分相同的代码库。
话虽如此,我认为您可以让您的插件平台独立。当然,您必须为每个平台编译它,但代码将 99% 相同。
关于c++ - 用 C++ 编写可移植动态加载库的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561022/