关于未对齐指针释放问题(Non-aligned pointer being freed)

也许是Mac系统设计比较好的缘故,原来在Linux、Solaris上都未曾发现的问题,但是却在Mac上发现了。问题是这样的,原来有一个总的HTONS/HTONL转换函数,此函数要转换的值原来默认是不包括公共数据包头的,但是我的程序确需要这个公共数据包头,于是乎,我在函数里多分配了公共数据包头的空间,但是,为了不使改动太大,仅仅将原来转换的指针向前移了一个公共数据包头的位置,这样原来的代码就无需作任何改动就可以正常工作了。问题是转换后的数据是存放在新分配的内存里。当然转换前的数据需要释放,问题的关键就在这里。在释放之前应该将转换前的指针移回原来的位置,这样释放空间才完整,不然有一部分空间就未曾释放。换句话说就意味着内存泄露。让人汗颜的是我并没有这样做。现在问题爆发出来,我才发现自己所犯的错误。找到问题改正就很简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Procrutes-Aligned,中文为普鲁克里特斯对准,是一个术语,常用于描述某种标准或规范下的对齐或一致性。 源自希腊神话中的普鲁克里特斯(Procrutes),他是一个残忍的强盗。他有一张铁床,他会邀请过路人入住。如果过客身高超过床的长度,普鲁克里特斯会迫使过客削下自己的脚或头,使其适配床的大小。相反,如果过客身材不够床的长度,普鲁克里特斯会折磨过客直到符合床的大小。 因此,当我们提到"Procrutes-Aligned"时,意味着我们正在寻求一种对齐或调整以满足某种预定的规范或标准。这可以应用于各种领域和情境,如设计、工程、软件开发等。 在设计领域,一个Procrutes-Aligned的设计可能是指遵循特定的尺寸、比例或几何关系以满足特定的审美或功能要求。这意味着设计必须进行某种调整或修改,以在整体上符合这些要求。 在工程领域,Procrutes-Aligned可能指遵循特定的标准、规范或安全要求来进行设计和建造。这意味着工程必须按照这些要求进行调整,以确保达到特定的性能和质量标准。 在软件开发中,Procrutes-Aligned可以指遵循特定的编码规范、设计模式或软件工程实践来编写代码。这意味着开发人员必须符合这些规范和标准,以确保代码的合理性、可读性和可维护性。 总之,Procrutes-Aligned是指根据特定的规范、标准或要求进行调整和对齐的过程。无论是在设计、工程还是软件开发中,这种对齐和调整是为了确保最终产品或结果能够达到特定的要求和期望。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值