gpt4 book ai didi

c# - 用指针c#指向某个地址

转载 作者:行者123 更新时间:2023-11-30 20:55:04 26 4
gpt4 key购买 nike

我有一个开放的 C 程序,其地址中存储了一个随机 var a=20 。假设是 1000。我希望我的 C# 程序能够读取这个地址 (1000) 值。因此,在我的 C# 程序中,显示值 20。我已经有了该地址,但我不知道如何查看该地址值,有什么帮助吗?

int *ptr = (int *) 0x67a9;
*ptr = 0xaa55;

我发现了这个 C 代码,认为它会有所帮助。

我使用的是 Visual Studio 2015。

最佳答案

所以您希望 C 在内存地址 1000 中存储一个值,并且希望 C# 程序能够读取内存地址 1000 并看到相同的值?

不幸的是(对你来说)它不是这样工作的 - 每个 exe 都有自己的地址空间,因此每个 exe 中的地址 1000 将映射到不同的物理地址,并且你不应该在该级别上乱搞.

您可以使用多种进程间通信(IPC)方法来实现您想要的(例如共享内存)

编辑David Heffernan 正确地指出,注释中的 ReadProcessMemory 确实允许您将内存区域从一个进程映射到另一个进程。我必须承认我不知道!仍然存在一个问题,你不能只使用内存地址 1000 - 你必须以某种方式从一侧到另一侧获得一个有效的地址,所以我不太确定它对于一般情况有多大用处。这可能会给您更多提示:sharing memory between two applications

关于c# - 用指针c#指向某个地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35568329/

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