Answers
查了一下,win平台debug模式下可以使用_CrtIsValidHeapPointer.
也可以借助TIB使用如下方法:
bool IsMemoryOnStack( void* p )
{
void* dwStackTop = 0;
void* dwStackLowCurrent = 0;
__asm {
mov EAX, FS:[4]
mov dwStackTop, eax
mov EAX, FS:[8]
mov dwStackLowCurrent, eax
}
return ( p<= dwStackTop && p>= dwStackLowCurrent );
}
不过两种方式似乎都限于win平台。
爱神-尤贝尔
answered 12 years, 9 months ago