我最近在学习动态链接。假设我有一个.so文件,其中包含一个名为global的全局变量。如果这个.so文件用在prog1和prog2中,那么prog1和prog2怎么会有全局变量的不同副本呢?如果.so文件还需要使用全局变量,它如何使用prog1和prog2的不同副本呢?
发布于 2021-01-08 12:18:47
全局变量是变量的单个实例,可在每个执行进程(程序)本地的可寻址内存中全局访问该变量。
如果同一个程序有多个实例在执行,或者这些程序共享一个公共库,它们仍然会有自己的本地内存,其中包括一个全局变量区域。因此,每个程序都有自己的全局变量,这些变量不会与其他进程共享。因此,程序之间不存在冲突。
https://stackoverflow.com/questions/65623318
复制相似问题