
C++中 用debugger调试,看到int变量的值都是地址(如0x00000100)
rt,是什么原因呢?有人遇到过吗?昨天看到的变量的值还是正常的。是什么地方设置出错了吗?不是代码的问题,如果直接编连,是可以运行出结果的。比如下面这个函数,直接运行就可以...
rt,是什么原因呢?有人遇到过吗?
昨天看到的变量的值还是正常的。是什么地方设置出错了吗?
不是代码的问题 ,如果直接编连,是可以运行出结果的。
比如下面这个函数,直接运行就可以,用debugger看到的变量都是地址
void CImageTJView::OnThreshold() //阈值变换
{
// TODO: Add your command handler code here
int i,j,value;
Cthreshold th;
if(th.DoModal()==IDOK)
{
value=th.m_value;
}
HDIB hDIB = pDoc->GetHDIB();
if (hDIB != NULL)
{
LPSTR pDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
int width = pDoc->m_IOimage.GetWidth(hDIB);
int height = pDoc->m_IOimage.GetHeight(hDIB);
width=(width+3)/4*4;
LPSTR lpDIB = pDoc->m_IOimage.FindDIBBits(pDIB);
int k=(int)pDoc->m_IOimage.m_ImColors;
BeginWaitCursor();
if(k==256)
{
for(i=0;i<height;i++)
for(j=0;j<width;j++)
{
if(lpDIB[i*width+j]>value) lpDIB[i*width+j]=255;
else lpDIB[i*width+j]=0;
}
}
EndWaitCursor();
pDoc->UpdateAllViews(NULL);
::GlobalUnlock((HGLOBAL) hDIB);
}
} 展开
昨天看到的变量的值还是正常的。是什么地方设置出错了吗?
不是代码的问题 ,如果直接编连,是可以运行出结果的。
比如下面这个函数,直接运行就可以,用debugger看到的变量都是地址
void CImageTJView::OnThreshold() //阈值变换
{
// TODO: Add your command handler code here
int i,j,value;
Cthreshold th;
if(th.DoModal()==IDOK)
{
value=th.m_value;
}
HDIB hDIB = pDoc->GetHDIB();
if (hDIB != NULL)
{
LPSTR pDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
int width = pDoc->m_IOimage.GetWidth(hDIB);
int height = pDoc->m_IOimage.GetHeight(hDIB);
width=(width+3)/4*4;
LPSTR lpDIB = pDoc->m_IOimage.FindDIBBits(pDIB);
int k=(int)pDoc->m_IOimage.m_ImColors;
BeginWaitCursor();
if(k==256)
{
for(i=0;i<height;i++)
for(j=0;j<width;j++)
{
if(lpDIB[i*width+j]>value) lpDIB[i*width+j]=255;
else lpDIB[i*width+j]=0;
}
}
EndWaitCursor();
pDoc->UpdateAllViews(NULL);
::GlobalUnlock((HGLOBAL) hDIB);
}
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询