Dword_align

程序运行时,突然停在Dword_align,然后跳出访问地址冲突的对话框,出现此问题的原因是:内存泄露,导致malloc失败,之后访问malloc分配的地址,自然出现地址冲突的错误。可用如下代码检测malloc是否成功执行:

int*imgData;
		try
		{
			imgData=(int*)malloc(sizeof(int)*P);
			if(imgData==0)
				throw "imgData Memory allocation failure!";
		}	
		catch (char *str)
		{
			cout << "Exception raised: " << str <<endl;
		}
而内存泄露的原因,多是自己分配了内存,却忘记了释放。尤其是对于结构体里边的指针,千万小心!

比如,声明了如下结构体

 struct weakr
 {
	 int* loc;
	 float* detaSb;
 };

然后生成了一个结构体数组weakr weaks[K],那么在不用该数组的时候一定要释放数组中每个元素的指针

 for(int i=0;i<K;i++)
	{
		free(strong[i].loc);

		free(strong[i].detaSb);
                strong[i].loc=NULL;
                strong[i].detaSb=NULL; 
 }
这个内存泄露不注意很难看出,特此记录下来,以提醒自己!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值