全局variables在.so库中

说库x.so有一个全局variablesy ,它被库中的一个函数( fun1 )所操纵。

当一个进程p1被加载到其代码正在使用库x.so函数fun1 RAM中时,库x.so将被ld.so加载到RAM中(如果不存在的话),并且在程序启动之前函数符号被parsing执行。

现在,这个全局variables在哪里创build。 它正在处理p1吗?

当另一个进程p2也使用fun1 (在y上进行操作)时会发生什么?

进程将得到他们的y的私人副本,当您调用exec时,它将被一个新的副本替换。 它将驻留在图书馆的数据部分。

每个进程在到达main入口点之前在启动时加载库时创建自己的变量y的实例。