我不明白 - *(uint*)((byte*)p + Offset)
I don't Understand - *(uint*)((byte*)p + Offset)
我无法理解这段代码,希望得到一个好的解释。
以下函数接受一个 hex 文件并修改地址而不覆盖其他所有内容。
谁能给我解释一下这是怎么做到的?
unsafe void WriteUint32(void* p, int Offset, uint value)
{
*(uint*)((byte*)p + Offset) = value;
}
如果我们忽略 Offset
,你有
*(uint*)((byte*)p) = value;
这只是将 value
分配给 p
指向的内容,解释为 uint
.
添加 Offset
只是将指针更改为 value
的分配位置。
我无法理解这段代码,希望得到一个好的解释。
以下函数接受一个 hex 文件并修改地址而不覆盖其他所有内容。
谁能给我解释一下这是怎么做到的?
unsafe void WriteUint32(void* p, int Offset, uint value)
{
*(uint*)((byte*)p + Offset) = value;
}
如果我们忽略 Offset
,你有
*(uint*)((byte*)p) = value;
这只是将 value
分配给 p
指向的内容,解释为 uint
.
添加 Offset
只是将指针更改为 value
的分配位置。