S
der speicher ist nicht gültig, aber der stack sollte eigentlich groß genug sein. ich hab das ganze als inline assembler mal getestet...
void Test()
{
char szFile[ 65536 ];
szFile[ 0 ] = 'A';
szFile[ 1 ] = 'B';
...
}
__declspec( naked ) void Test2()
{
__asm
{
push ebp;
mov ebp, esp;
sub esp, 65536;
mov [ebp - 65536], 'A';
mov [ebp - 65535], 'B';
...
mov esp, ebp;
pop ebp;
ret;
}
}
void main()
{
// Test();
Test2();
}
wenn ich Test aufrufe wird scheinbar der stack "angelegt" und ist dann auch in Test2 gültig. ruf ich das nicht auf, ist der speicher bereich ungütltig. durch Test scheint der stack irgendwie aufgebaut zu werden.