<xmp id="4iwcg"><nav id="4iwcg"></nav><optgroup id="4iwcg"><code id="4iwcg"></code></optgroup>
  • <center id="4iwcg"></center>
    <menu id="4iwcg"><tt id="4iwcg"></tt></menu>
    <menu id="4iwcg"><code id="4iwcg"></code></menu>
  • <menu id="4iwcg"><strong id="4iwcg"></strong></menu>
    <optgroup id="4iwcg"></optgroup>
    <nav id="4iwcg"></nav>
    <dd id="4iwcg"></dd>
    <xmp id="4iwcg">
    <nav id="4iwcg"><strong id="4iwcg"></strong></nav>
    <xmp id="4iwcg"><nav id="4iwcg"></nav>

    MCU堆棧空間,您要設置多少?

    注意,星級公眾號,是的,令人興奮的內容作者:StrongHuang微信公眾號:StrongerHuang堆棧對于程序非常重要,程序可以快速運行,在堆棧中扮演非常重要的角色,但是您知道堆棧? 1我們都知道堆棧位于RAM中。

    現在,MCU的RAM相對較大(幾十或幾百個K),因此分配的堆棧足夠大,許多人并沒有過多地關注此堆棧的大小。

    但是,MCU的RAM過去很小,甚至不到1K,因此以前的工程師更加關注堆棧的大小。

    對于小型項目,也許我們不需要關心堆棧大小。

    但是,如果項目很大,則應注意它。

    您的堆棧大小設置不合理,可能會導致故障。

    如果您想了解堆棧的大小,則需要了解堆棧的功能。

    讓每個人都對堆棧有更多了解。

    2在堆棧的基本知識上,讓我們看一下兩個經典知識。

    1.程序內存分配C / C編譯程序占用的內存分為以下幾部分:堆棧區(stack):由編譯器自動分配和釋放,存儲函數參數值,局部變量值等。

    其操作是類似于數據結構中的堆棧。

    堆:通常由程序員分配和釋放,如果程序員不釋放它,則在程序結束時OS可能會回收它。

    請注意,它與數據結構中的堆不同,并且分配方法類似于鏈表。

    全局區域(靜態區域)(靜態):全局變量和靜態變量的存儲放在一起,初始化的全局變量和靜態變量在一個區域中,未初始化的全局變量和未初始化的靜態變量彼此相鄰。

    一個地區。

    程序結束后由系統釋放。

    文本常量區域:常量字符串放置在此處,并在程序結束后由系統釋放。

    程序代碼區:存儲功能體的二進制代碼。

    2.經典示例程序int a = 0; //全局初始化區域char * p1; //全局未初始化區域main(){int b; // stack char s [] =“ abc” ;; //堆棧char * p2; //堆棧char * p3 =&quot; 123456&quot ;; // 123456

    客服
    分享
    電話
    服務電話:
    TOP
    深圳市捷比信實業有限公司?湯經理?歡迎您的咨詢 深圳市捷比信實業有限公司?湯經理?歡迎您的咨詢
    服務電話
    聯系我們

      深圳市捷比信實業有限公司?湯經理?歡迎您的咨詢

    蜜桃视频