【发布时间】:2020-08-12 22:32:33
【问题描述】:
作为一个学习嵌入式软件的初学者,我无法理解保留内存和分配内存之间的细微差别,有人可以帮助我吗?
【问题讨论】:
-
在 C 或 C++ 中没有保留内存之类的东西。你能举个例子说明你指的是什么吗?
-
这可能是指“静态分配”与“动态分配”。您使用的措辞非常规。这是C ++“教授”正在做的事情吗?他们经常发明自己的高度特殊的术语。
-
我正在尝试从有此段落的在线课程中学习:" _Stack 由编译器自动使用,而编译器又利用特定于体系结构的进程和指令来调用和从例程返回. 所有这些操作都被编译到函数调用中。仍然有开销,为了调用和从函数返回,堆栈的内存区域占用了部分数据内存。这是在编译时保留的,已分配在运行时,与该区域交互的操作在编译时引入。
-
您的参考文本似乎描述了您的“交叉”编译器为您的嵌入式系统生成的代码的某些方面。研究主题:bsp(板级支持包)。 “板级支持包 (BSP) 是给定计算机硬件设备的基本代码代码,它将使该设备与计算机的操作系统(操作系统)一起工作。BSP 包含一个称为引导加载程序或引导管理器的小程序,用于放置操作系统和设备驱动程序进入内存”BSP 问题可能不是 C++ 语法问题。我见过的 bsp 是 assy、c 和 c++ 的混合体。
-
@Barmar:C 中有保留内存之类的东西。它是为对象提供的存储空间——任何对象。例如,C 2018 6.2.4 2 表示“对象的 生命周期 是程序执行的一部分,在此期间保证为它保留存储空间……”
标签: c++ c memory memory-management stack