gpt4 book ai didi

c++ - 没有位置的访问违规读取位置

转载 作者:行者123 更新时间:2023-11-28 02:33:36 27 4
gpt4 key购买 nike

嗯,我有两个功能

void RealFunction()
{
MessageBox(NULL, "RealFunction()", "Trace", MB_OK);
}

void FakeFunction()
{
MessageBox(NULL, "FakeFunction()", "Trace", MB_OK);
}

当我尝试这样做时,我遇到了访问冲突错误

void main()
{
DWORD target = (DWORD)RealFunction;
DWORD trampoline = (DWORD)Trampoline;
cout << target + " - " + trampoline << endl;
}

我不知道为什么在我尝试计算 DWORD 时甚至抛出访问冲突?

最佳答案

DWORD target = (DWORD)RealFunction;
DWORD trampoline = (DWORD)Trampoline;
cout << target + " - " + trampoline << endl;

你的意思一定是<<而不是 + .

你有一个 const char * ,包含破折号的字符串文字。为此,您要添加两个可能相当大的数字,结果是一些荒谬的内存地址,它被解释为字符串指针。未定义的行为。

关于c++ - 没有位置的访问违规读取位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28289696/

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