memcpy():访问冲突写入位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcpy():访问冲突写入位置相关的知识,希望对你有一定的参考价值。
我正在运行此代码时获取访问冲突写入位置0xB7066CBC。无法弄清楚发生了什么,有什么建议吗?
int main(void)
{
unsigned int SIG = 0x00000000;
unsigned int *base = (unsigned int *)0xb7066CBC;
SIG = 0x5a5a5a5a;
memcpy(base ,&SIG, 4);
}
以下是我遇到此故障时获得的值。
&SIG 0x003bf7c0 {0x5a5a5a5a}
SIG 0x5a5a5a5a
base 0xb7066cbc {???}
答案
我正在运行此代码时获取访问冲突写入位置
0xB7066CBC
。无法弄清楚发生了什么
发生的事情是位置0xB7066CBC
的4个字节不可写。
你的问题很可能在于任何推理使你相信这些字节是(或应该是)可写的,但由于你没有提供任何关于这种推理可能的线索,因此很难提供任何帮助。
以上是关于memcpy():访问冲突写入位置的主要内容,如果未能解决你的问题,请参考以下文章