我在大会程序存在的和发生在我身上出现以下错误:访问冲突写入位置在大会
异常在Application1.exe在0x00B71792抛出:0000005:访问冲突写入位置0x00B76BED。
Application1.exe中0x00B71792未处理的异常:0xC0000005:访问冲突写入位置0x00B76BED。
我正在使用Visual Studio进行编程。这里如下我的代码:
char *strCat(char *dest, char *src) {
__asm {
xor eax, eax
mov ecx, 0xffffffff
mov esi, src
mov edi, dest
mov al, 0
cld
repne scasb
dec edi
L0 :
lodsb
stosb
test al, al
jne L0
mov eax, edi
};
}
在stosb
指令错误ocurr根据调试。
在我看来,代码是正确的。找不到该错误。
你有没有通过视觉工作室的C中内嵌汇编加强++调试器来观看怎么了? –
值0xffffffff看起来可疑。它是为了什么? –
我们需要知道您用来调用该函数的参数。你不能随心所欲地串联角色。例如,strCat(“abc”,“123”)将可能崩溃。 – PaulMcKenzie