主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

MISRA C++:2008 Rule 18-4-1

Dynamic heap memory allocation shall not be used

描述

规则定义

Dynamic heap memory allocation shall not be used. 1

理由

动态内存分配使用堆内存,这可能导致内存泄漏、数据不一致、内存耗尽和非确定性行为等问题。

Polyspace 实现

检查项标记了 malloccallocreallocfree 函数的使用,以及非放置版本的 newdelete 运算符的使用。

检查项还会标记 alloca 函数的使用。虽然使用 alloca 函数不会发生内存泄漏,但仍可能会出现与动态内存分配相关的其他问题。

故障排除

如果您预期会出现违规,而 Polyspace® 未报告该违规,请参阅诊断为何编码规范违规未按预期显示

检查信息

组:语言支持库
类别:必需

版本历史记录

在 R2013b 中推出


1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.

The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:

  • MISRA C:2004

  • MISRA C:2012

  • MISRA C:2023

  • MISRA C++:2008

  • MISRA C++:2023

MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.