本文介绍了是否有可能在32位版本上不会出现在64位版本上出现的错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有可能在使用非托管C ++的Visual Studio 2010上,在64位版本上出现的错误不会在32位版本(和Visa virsa)上复制.
Hi,
Is there a possibility that an error comming on 64bit build will not replicate on 32bit build(and visa virsa) on Visual studio 2010 with unmanaged C++.
推荐答案
{
UINT_PTR uiDivider(0);
for (;;) {
UINT_PTR uiResult(4 / ++uiDivider);
}
}
...这会导致64位执行崩溃:
...and this can crash an 64bit execution:
{
class A {
int m_iMember;
public:
A(int i = 0) : m_iMember(i) {}
int GetMmber() const { return m_iMember; }
} a;
A* pA(&a);
DWORD dwPointerStorage = static_cast<dword>(pA);
pA = static_cast<a*>(dwPointerStorage);
pA->GetMember(); // possible crash for 64bit :)
}</dword>
这篇关于是否有可能在32位版本上不会出现在64位版本上出现的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!