首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件动态链接

条件动态链接
EN

Stack Overflow用户
提问于 2020-09-25 04:16:16
回答 1查看 103关注 0票数 0

这个问题是关于根据特定的条件动态加载特定的模块,例如环境变量和将函数调用链接到适当的模块。描述:

我有模块M1,它需要根据环境变量使用模块M2M3。这就像两个模块M2M3都提供了一个函数f()。以下是两个不同的问题:

如果有特定的环境变量,

  1. M1希望调用M2::f(),如果设置了相同的环境,set.
  2. M2希望调用M3::f()。因此,M1::f() ->M2::f() -> M3::f()
  3. If没有设置相同的变量,M2没有显示,而M1f1()的调用总是只调用M3::f()

因此,需要同时加载M2M3,但也存在间接加载的问题。

这是C++环境,我们不想使用虚拟函数。我宁愿寻找一些链接解决方案,可能使这成为可能。

应用程序需要移植到多个OS/硬件平台上,但如果您能够告诉我仅适用于Linux和/或Windows,那就好了。

任何其他想法也是受欢迎的。

EN

回答 1

Stack Overflow用户

发布于 2020-09-25 04:29:02

我经历了一个明喻的情况,以节省内存和避免加载所有模块(插件)自动。我使用了dlsym库,并按需加载了所有模块。我可以分享代码片段,如果这是你要找的。你也可以在网上得到它。

https://linux.die.net/man/3/dlsym

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64057731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档