以下代码为啥在x64下运行异常呢
以下代码为啥在x64下运行错误呢
这段代码在win32下运行正确,但是为啥在x64下运行通不过呢?该如何修改使得在x86,x64都能运行,求高人给点意见,谢谢!
------解决方案--------------------
m_NumList[i]是指针,不能转int。。
------解决方案--------------------
还是32位/64位转换的问题吧
------解决方案--------------------
可参考http://blog.csdn.net/harbinzju/article/details/5785024
正如文中所说Windows上的32位程序设计和64位程序设计最大的不同(也就是IP32和LLP64的不同),就在于指针的长度不同由32位变成了64位。
- C/C++ code
int**m_NumList = (int **)(pData);//经过地铁索引 for(i = 0; i < nCount; i++) { int nPos = (int)(m_NumList[i]); if(nPos != -1) { //tmpInfo是另外一个定义好的数组 m_NumList[i] = (int*)((int*)tmpInfo + nPos); } }
这段代码在win32下运行正确,但是为啥在x64下运行通不过呢?该如何修改使得在x86,x64都能运行,求高人给点意见,谢谢!
------解决方案--------------------
m_NumList[i]是指针,不能转int。。
------解决方案--------------------
还是32位/64位转换的问题吧
------解决方案--------------------
可参考http://blog.csdn.net/harbinzju/article/details/5785024
正如文中所说Windows上的32位程序设计和64位程序设计最大的不同(也就是IP32和LLP64的不同),就在于指针的长度不同由32位变成了64位。