• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    什么是堆棧溢出(Stack Overflow)?

    由于在內存塊中沒有溢出的錯誤,所以在內存塊中沒有溢出的錯誤,這些類型的錯誤之間的差異取決于所使用的計算機數據結構,并且共同的特征是嘗試寫入比C++可用的空間更多的數據。 在C++中,堆棧溢出。通常表現為分段錯誤,并且...
    由于在內存塊中沒有溢出的錯誤,所以在內存塊中沒有溢出的錯誤,這些類型的錯誤之間的差異取決于所使用的計算機數據結構,并且共同的特征是嘗試寫入比C++可用的空間更多的數據。在C++中,堆棧溢出。通常表現為分段錯誤,并且經常沒有額外的信息來確定溢出的發生地點或方式。C++棧溢出的癥狀可以根據所使用的計算機語言和錯誤報告機制而變化。堆棧溢出通常表現為分段錯誤,并且通常沒有提供額外的信息來確定溢出發生在何處或如何發生的。Java中的溢出通常會導致虛擬機崩潰,并給出一個相當詳細的錯誤文件。無論溢出發生在哪種語言中,溢出幾乎總是可以通過正確的調試和識別原始溢出源來糾正。
    提供顯式內存管理的計算機語言通常更容易防止堆棧溢出。廣泛接受的編程實踐通常要求內存分配的一個程序段,程序也應該刪除自己。C++允許這種機制,這樣仔細監視可以保持程序使用的內存量最小。不提供顯式內存管理的語言,而是使用隱式內存管理,更難防止堆棧溢出錯誤Java在其虛擬機中處理自己的內存,因此不能隨意顯式刪除數據以騰出更多的空間。
    新手程序員的一個常見錯誤是認為在處理自己的內存管理的計算機語言中不會發生堆棧溢出。雖然這在一開始似乎是合理的,事實并非如此。具有隱式內存管理的語言通常具有釋放不必要內存塊的垃圾收集器,但這些垃圾收集器并不總是在程序員期望的時間工作。依賴垃圾收集器相對危險,它不能總是保護程序不受溢出錯誤的影響。
    溢出錯誤可能是災難性的,會使整個程序停止運行,或者它們幾乎是靜默的,允許程序繼續運行。這第二種類型的錯誤通常是最難發現的,因為以前很多行代碼的溢出可能會導致錯誤。堆棧溢出通常不需要搜索整個程序,但溢出后程序運行的時間越長,則更困難的是要找到并修復錯誤
    • 發表于 2020-07-12 00:56
    • 閱讀 ( 794 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆