能力值:
( LV2,RANK:10 )
|
-
-
2 楼
个人观点,不喜勿喷 关于第一个问题,最终是两个变量,也就是两份虚拟内存地址 第二个问题也是两个独立的变量不是共用一个变量 关于不同进程共用同一个变量可以参考百度文库的"DLL共享数据段" https://wenku.baidu.com/view/cc088cd44593daef5ef7ba0d4a7302768e996f98.html
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
fishod
个人观点,不喜勿喷
关于第一个问题,最终是两个变量,也就是两份虚拟内存地址
第二个问题也是两个独立的变量不是共用一个变量
关于不同进程共用同一个变量可以参考百度文库的"DLL共享数据段 ...
谢谢。另外在第二个问题的情境中,如果这个全局变量是共享的,那么这个exe本体运行和作为dll运行,访问的是同一个全局变量吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
只要是两个不同进程,永远都是两个变量。除非你用内存映射把它映射到一块共享内存里去。但很明显你没有这么做。
|
能力值:
( LV5,RANK:65 )
|
-
-
5 楼
上面说过的,就不说了,DLL因为在进程中,是可以访问该进程内存的,所以说,如果你传递变量的内存地址过去让他处理,是可以共享的
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
用实际一点的。 一个程序运行时,会申请一块内存。而作为程序运行的一部分的dll/exe中变量,一定是从程序的基地址进行偏移。 这样,你可以知道, 2 个程序 不可能使用相同的内存变量了吧。 如果能使用相同的内存变量,那系统就会崩了。
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
谢谢各位大佬解答
|
|
|