gpt4 book ai didi

c++ - Linux 共享库

转载 作者:太空狗 更新时间:2023-10-29 11:37:10 25 4
gpt4 key购买 nike

我是 linux 应用程序开发的新手。

我有两个库共享库 libGetData.so 和 libProcessData.so。

我在 Linux PC 上运行两个不同的 C++ 应用程序 A 和 B,并在两个应用程序中使用这两个库。

两个库中的静态变量都很少。

但是,当我在应用程序 A 的 libGetData.so 库中设置静态变量时。它没有反射(reflect)在应用程序 B 中。

我的目标是,如果我在任何应用程序中使用共享库,并且是否在该库中设置任何静态变量。同样的事情应该反射(reflect)在使用相同库的另一个应用程序上。

请帮帮我...

最佳答案

But, When I set a static variable in libGetData.so library from Application A. Its is not reflecting in Application B.

正确。

My goal is if I use a shared library in any Application and if I set any static variable in that library. Same thing should reflect on an-other application which is using same library.

不,这不是共享库的工作方式。

共享库允许多个进程共享库的不变部分,但这纯粹是操作系统级别的实现细节。它们表示进程共享一个地址空间。不同进程中的变量是不同的,不共享。

为了让进程进行通信,他们需要使用某种形式的 Inter-Process Communication (IPC)例如管道、套接字或共享内存(与共享库无关)。

关于c++ - Linux 共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29035018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com