DSP中 stack和 heap的作用

2022-06-20 03:15:13 字數 462 閱讀 9484

-stack           0x00000800

-heap            0x00000800

stack -

又稱系統棧(system stack),用於:

儲存函式呼叫後的返回位址;

給區域性變數分配儲存空間;

傳遞函式引數;

儲存臨時結果;

heap -

編譯器提供的執行時支援庫的一些函式(如malloc/calloc/realloc),允許執行時為變數動態分配儲存器。這些儲存器就放置在.system段的全域性池(global pool)或堆(heap)中。

這個動態儲存池的大小僅僅受限與系統中實際的儲存容量。

這2個選項都可以在project-build options的聯結器選項中設定

《tms320c6000系列dsp程式設計工具與指南》p126

Heap和Stack的區別

2.1 記憶體分配策略 按照編譯原理的觀點,程式執行時的記憶體分配有三種策略,分別是靜態的,棧式的,和堆式的.靜態儲存分配是指在編譯時就能確定每個資料目標在執行時刻的儲存空間需求,因而在編譯時就可以給他們分配固定的記憶體空間.這種分配策略要求程式 中不允許有可變資料結構 比如可變陣列 的存在,也不允...

heap和stack的區別

以下內容來自 程式設計師面試寶典 一 預備知識 程式的記憶體分配 乙個由c c 編譯的 程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其 操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放...

stack和heap的區別

stack和heap的區別 一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束...