當前位置:首頁 » 編程軟體 » 編譯器棧設置100MB

編譯器棧設置100MB

發布時間: 2024-02-27 13:51:27

『壹』 msp430編譯器的堆棧在哪裡設置

我用的是IAR 4.11b for MSP430,4.11裡面改堆棧是在你工程的Options裡面。首先在Workspace窗口右鍵單擊你的工程,然後選擇第一項"Options",或者選在上面菜單中選擇Project->Options也可以進入這個選項。在Options裡面第一個General Options中,有一堆選項卡,第五個選項卡(就是Library Options再向右一個)就是Stack/Heap,用來調整堆和棧的大小的。調的時候先在Override Default前面打鉤。如果你用的是地址線沒有擴展的MCU版本,則只有Stack Size 和Heap Size 兩個選項可以選擇。如果你是用的是較新的F5系列擴展地址線版本MCU,則還可以設置Data20 Heap Size.具體怎麼設要根據你的應用需求。如果你需要自己申請用來存放Data20類型的數據,就需要把Data20 Heap Size設大一點。如果存放普通的數據那麼只需要更改Stack Size和Heap Size。

Stack和Heap的區別有問題嗎?如果不清楚的話上網路輸入「堆和棧的區別」自己看吧。根據你的應用到底是堆空間要求多一些,還是棧空間要求多一些,給Stack Size和Heap Size分配不同大小的Size。

別的版本的IAR我也沒用過,有什麼問題在線交流吧。希望對你有幫助!

『貳』 編譯器可以修改棧大小,這個值可以隨意設置嗎

你說的那個默認1M的棧,應該指的是call stack(函數調用使用的棧)。這個棧用來存放函數調用時所傳遞的參數(並非所有參數都通過棧傳遞),棧指針,return address,寄存器的備份,還有每層函數的local variable。
1M大多數情況都是夠用的,如果用完可能會發生非法訪問等錯誤。可能會用完1M的情況:某個被調用的函數申請了一個很大的local variable,比如直接在棧上開個大數組之類的;還有就是遞歸調用,遞歸層數多了後很容易就用完1M。所以遞歸一般不要亂用。

『叄』 高手們來看看VS2010 中編譯器設置都是什麼意思(其實VS2008也差不多吧),誰能詳細的給說一下,萬分感謝了

這是C/C++編譯優化設置部分
第一行,啟用的優化等級,這里優化被禁止了
第二行,內聯函數,表示是否展開,還是以函數形式存在
第三行,是否啟用內部函數
使用內部函數的代碼比較快,因為它們沒有函數調用的系統開銷。但由於創建了附
加代碼,代碼尺寸可能比較大。
第四行,優化方式,速度優先還是代碼尺寸優先;通常會選擇速度優先,現在尺寸已不是問題
第五行,是否禁止在調用堆上創建框架指針,以加快函數調用;堆內存分配演算法需要時間
第六行,是否啟用纖程安全的線程本地存儲優化
第七行,是否啟用全局鏈接時代碼優化;指的是生成具體指令過程推遲到鏈接的時候,這樣有
助於具體的一些優化,比如,函數內部變數,有些可以是寄存器變數,沒必要再
棧里分配,寄存器訪問比內存訪問快很多,這些都依賴於函數的調用拓撲等關系。

『肆』 程序設計中,堆和棧比較重要。棧存取速度大於堆,而且編譯器可以修改棧大小,這個值可以隨意設置嗎

學習電腦編程多年了,在程序設計方面也算有一番見解,希望這些經驗能對題主有所幫助。

  • 現在堆棧通常默認為8M,對吧?事實上,如果你不濫用遞歸,或者alloca / vla,大多數時候,就足夠了。即使它不超過內核限制,通常也不適合驅動大型的,或者它會影響並發進程的數量。並且過程啟動時間也應該稍微減少。當然,如果是專用的伺服器系統,問題就不嚴重了。

熱點內容
nas的監控存儲 發布:2024-11-16 05:52:53 瀏覽:316
phpxml轉換 發布:2024-11-16 05:47:10 瀏覽:955
內網伺服器搭建什麼公司做 發布:2024-11-16 05:36:24 瀏覽:594
如何利用map做本地緩存 發布:2024-11-16 05:34:37 瀏覽:539
w7恢復出廠設置密碼是多少 發布:2024-11-16 05:23:49 瀏覽:791
方周編譯器 發布:2024-11-16 05:23:12 瀏覽:660
資料庫監控工具 發布:2024-11-16 05:23:07 瀏覽:958
存儲器題型 發布:2024-11-16 05:23:06 瀏覽:86
怎麼設置電腦配置信息 發布:2024-11-16 05:04:26 瀏覽:981
推薦系統php 發布:2024-11-16 05:03:42 瀏覽:12