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都能运行,求高人给点意见,谢谢!
解决方案 »
- 不知道如何调试……
- RichEditView中字符串查找问题
- VS2008写winmain函数报错
- 怎么检测视频挂掉了?
- 请牛人推荐语音开发包,中文语音库
- 如何编摄像机的视频采集程序?我很菜,请大侠指点时详细点,谢谢!:)
- UpdateWindow()调用后Windows就一定会向程序发送WM_PAINT消息吗?
- 请问P4电源盒上的两个电源插头分别是干什么用的?我的那个小插头不插会出现什么后果?
- 如何监控一个文件在程序未结束之前不被用户删除,除打开该文件不关闭之外还有没有其它方法?
- libnids怎么也抓不到包啊?
- 新工程(Use Multi-Byte Character Set), 什么代码也没加, 编译不成功.
- 窗口分割的几个个问题
int*m_ptmpNumList = (int *)(pData);//经过地铁索引
for(i = 0; i < nCount; i++)
{
int nPos = m_ptmpNumList[i]; if(nPos != -1)
{ //tmpInfo是另外一个定义好的数组
m_NumList[i] = (int*)((int*)tmpInfo + nPos);
}
}
正如文中所说Windows上的32位程序设计和64位程序设计最大的不同(也就是IP32和LLP64的不同),就在于指针的长度不同由32位变成了64位。
for(i = 0; i < nCount; i++)
{
size_t nPos = (size_t)(m_NumList[i]); if(nPos != (size_t)-1)
{ //tmpInfo是另外一个定义好的数组
m_NumList[i] = ((int*)tmpInfo + nPos);
}
}