我希望能够将共享库的多个副本加载到同一个地址空间中。我希望他们不要共享任何全局变量,我希望这两个副本不知道另一个已加载。
用例是并行执行线程不安全的库。
我该怎么做
答案 0 :(得分:2)
用例是并行执行线程不安全的库。
即使你设法实现“不共享任何全局变量”的目标(这很难),库也可能仍不起作用,因为它可能会在<中调用线程不安全的例程em>其他库。
显而易见的情况是图书馆可以拨打strtok
。
在Linux和Solaris上,您可以使用dlmopen(LM_ID_NEWLM, ...)
。 Man page