如何在两个应用程序之间共享单个共享库(*。so)实例

时间:2016-03-04 05:52:32

标签: c linux gcc shared-libraries

我目前创建了一个共享库(libshared.so),其中包含一个变量“a”     由共享库api修改。我有两个应用程序app1和app2。 app1正在使用     共享库api,它改变了“a”的值。现在app2正在运行时同时进行     应该看到改变的价值。     这是对共享库的实际使用,作为共享的单独实例     将为每个应用程序创建库。     现在我想在两个app1和app2之间使用一个共享库的实例,这样     他们可以看到共享库的相同代码和数据段。     是否有任何可能的方法来实现这一点,通过改变gcc链接器标志

1 个答案:

答案 0 :(得分:0)

这些回答:

会破坏您对共享库方法的期望。

我建议您查看Shared MemoryPOSIX API shmget

一个进程将充当服务器并创建共享内存并向客户端提供共享内存密钥。

另一种方法是创建一个管道来在进程之间共享数据

您可以阅读this page以获取有关Linux上进程间通信的更多信息