字节对齐,对opencv的影响

今天调试opencv的程序,把一个IplImage指针封装在一个类里,一直都用的好好,可就在可恶的前天,出了问题,总是取不到这个m_pImage

class A
{
...
  IplImage*m_pImage;
}

  

,还有一段构造函数,总是构造后,对象未被初始化的样子,代码如下

CPRShape::CPRShape(IplImage* pImage,CvRect& rt)
	:m_pImage(pImage)
	,m_Rect(rt)
{
}

  实在没办法,索性,把svn的check out,一点点比对,功夫不负有心人,经过辛苦对比,辛苦调试,总算看到了一个地方 #pragma pack (1),去掉这个就正常,而这个东东是为了我读二进制文件而添加的,先去掉,读文件的再说吧~~

一些恢复如处!!!!!

其实可以这样

#pragma pack (push,1)

....

#pragma pack (pop)

大部分转载 小部分自写
原文地址:https://www.cnblogs.com/8586/p/2864643.html