gpt4 book ai didi

c# - 为什么在运行时更改内存地址

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:33 25 4
gpt4 key购买 nike

我用一个简单的double变量在C#.Net中编写了一个应用程序,该变量在运行时会更改。我的目标是从另一个程序读取此变量。因此,我用ArtMoney查看了内存以获取内存地址。但是我的变量的地址在运行时会更改。谁能告诉我为什么?

Memory on the locations

在两次尝试中,地址都更改了两次,然后保持稳定。在两个地址上更改的地址的前两个字节都尝试相同,但是下一个字节在应用程序的每个开始处都不同。


为什么在运行时地址更改两次?
我如何确定地址的“偏移”?

最佳答案

“因为被允许”; .NET不会对事物在内存中的位置提供任何保证,除非您(两者之一):


分配托管内存并将其固定
分配非托管内存


而且您会注意到,在这两种情况下,运行之间均不固定-仅在运行期间固定。

基本上:找到一种在流程之间进行通信的不同方式。原始内存偏移量查找:在这里不起作用。

关于c# - 为什么在运行时更改内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44521531/

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