【发布时间】:2012-07-31 13:45:22
【问题描述】:
我需要从我自己的应用程序中调用导出的符号 - 因此我需要知道在“你自己”上调用 dlopen / LoadLibrary 是否安全。
一个例子是:
LoadLibrary("test.exe");
在一个名为test.exe的程序中。
我对其进行了测试,它似乎可以工作,但我不太确定它是否真的受支持。
【问题讨论】:
-
如果在自己的应用程序中,为什么不直接调用呢?
-
它在插件架构中。实现(有点像 COM 中的)是基于 DLL/SO 的机制加载的。此机制适用于文件名。现在我们遇到了在应用程序中定义一些插件(至少作为备份)的用例。因此我们需要扩展Loader。如果我们可以通过 dlopen/LoadLibrary 安全地从应用程序加载,我们可以以统一的方式处理所有情况。
标签: c++ c loadlibrary dlopen