国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

不停的malloc程序會異常嗎

學益得智能硬件 ? 來源:學益得智能硬件 ? 2025-01-14 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

把 malloc 放在死循環里面,會是什么樣的現象?

比如這樣的代碼,每次使用 malloc 申請 1M 大小的內存,其他什么操作也不做。

理論上來說,堆內存是有限的,如果不停的申請,遲早內存會被用完,程序應該會異常退出。

于是我找了個環境,把程序運行起來試下。

先用虛擬機,跑的一個 32 位的紅帽系統,程序運行起來,好像只是一個普通的死循環,半天也沒見他退出,而且程序也不卡頓。

看下進程的內存使用情況,數值一直都沒變。

應該可以得出結論,雖然不停的申請,但是因為內存沒有使用,所以系統并沒有真正的分配。

修改下代碼,申請了內存后,使用 memset 把內存初始化一下,再次運行,不一會虛擬機卡頓,直到程序被殺死。

換個環境,這次使用 64 位的Ubuntu,同樣的代碼,沒有初始化內存,運行程序,很快進程就被殺死。

運行的時候看了下內存的使用情況,確實是在快速的增長。

所以在這個環境里面,即使申請的堆內存沒有使用,系統也確實給分配了。

同樣是 malloc 函數,不同的操作系統,內存管理的策略也不太一樣。

#include 
#include 


int main()
{
    char *p = NULL;


    while (1) 
    {   
        p = (char *)malloc(1);


        *p = 1;
    }   


    return 0;
}

最后給大家看個筆試題,也是關于 malloc 函數,運行程序,應該是個怎樣的現象?如果你能看出來,歡迎在評論區交流。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序
    +關注

    關注

    117

    文章

    3846

    瀏覽量

    85225
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67499
  • malloc
    +關注

    關注

    0

    文章

    53

    瀏覽量

    383

原文標題:不停的malloc,程序會不會異常

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問C語言中整形溢出產生哪些異常行為?

    C語言中整形溢出產生哪些異常行為?
    發表于 12-26 07:05

    C++程序異常的處理機制

    1、什么是異常處理? 有經驗的朋友應該知道,在正常的C和C++編程過程中難免碰到程序不按照原本設計運行的情況。 最常見的有除法分母為零,數組越界,內存分配失效、打開相應文件失敗等等。 一個
    發表于 12-02 07:12

    為什么單片機中很少使用malloc,而PC程序頻繁使用呢?

    、工業應用、汽車電子等相關的應用,程序的執行必須具備高實時性和高確定性。動態內存分配(如 malloc)的延遲是不確定的,可能因為內存分配失敗或內存碎片問題導致程序的執行時間不穩定,
    發表于 11-20 06:55

    交流不停電電源ups應滿足哪些條件?

    交流不停電電源(UPS)作為關鍵設備的“電力守護者”,需滿足多維度技術指標與場景適配性要求。以下從核心性能、安全可靠性、智能管理、環境適應性四大維度,結合優比施的專業實踐,系統解析UPS應滿足的條件
    的頭像 發表于 11-12 09:10 ?464次閱讀
    交流<b class='flag-5'>不停</b>電電源ups應滿足哪些條件?

    電能質量在線監測裝置突跳異常數據修嗎?

    電能質量在線監測裝置的突跳異常數據通常會通過 自動修復機制 和 人工干預 相結合的方式進行處理,但具體修復能力取決于設備配置、異常類型及平臺功能。以下是詳細說明: 一、自動修復機制 現代高端監測裝置
    的頭像 發表于 11-05 14:07 ?434次閱讀

    電能質量在線監測裝置異常數據自動修復嗎?

    電能質量在線監測裝置對異常數據的處理能力取決于具體技術方案和異常類型。現代高端裝置通常具備有限的自動修復能力,但需結合人工審核和硬件維護,形成 “自動修復 + 人工干預” 的閉環管理體系。以下
    的頭像 發表于 10-15 16:07 ?330次閱讀

    RT-Thread Studio CH32V307工程,程序運行異常怎么解決?

    RT-Thread Studio CH32V307 工程歷程程序運行異常,官方的EVT歷程使用是OK的,沒人維護嗎?
    發表于 10-13 06:36

    rt_malloc_align函數內存越界問題怎么解決?

    void *rt_malloc_align(rt_size_t size, rt_size_t align) { void *align_ptr; void *ptr; rt_size_t
    發表于 09-22 08:30

    機器學習異常檢測實戰:用Isolation Forest快速構建無標簽異常檢測系統

    本文轉自:DeepHubIMBA無監督異常檢測作為機器學習領域的重要分支,專門用于在缺乏標記數據的環境中識別異常事件。本文深入探討異常檢測技術的理論基礎與實踐應用,通過IsolationForest
    的頭像 發表于 06-24 11:40 ?1408次閱讀
    機器學習<b class='flag-5'>異常</b>檢測實戰:用Isolation Forest快速構建無標簽<b class='flag-5'>異常</b>檢測系統

    stm32cubeIDE使用malloc失敗是什么原因?

    我在stm32cubeIDE環境下,已經分配了足夠的棧與堆空間,但是我在的使用malloc分配內存時,一直分配不成功,這是什么原因?
    發表于 06-09 07:24

    stm32cubeIDE使用malloc失敗是什么原因?

    我在stm32cubeIDE環境下,已經分配了足夠的棧與堆空間,但是我在的使用malloc分配內存時,一直分配不成功,這是什么原因?
    發表于 06-04 07:18

    6.18年終狂歡購!滿額即贈,驚喜享不停!

    6.18年終狂歡購!滿額即贈,驚喜享不停!
    的頭像 發表于 05-30 18:04 ?671次閱讀
    6.18年終狂歡購!滿額即贈,驚喜享<b class='flag-5'>不停</b>!

    stm32cubeIDE使用malloc失敗的原因?

    我在stm32cubeIDE環境下,已經分配了足夠的棧與堆空間,但是我在的使用malloc分配內存時,一直分配不成功,這是什么原因?
    發表于 04-27 06:45

    散熱設計與測試:PCBA異常發熱的解決之道

    在電子設備的生產和測試過程中,PCBA(印制電路板組裝)異常發熱是一個常見且棘手的問題。過高的溫度不僅影響設備的性能,還可能導致元器件損壞甚至設備報廢。因此,快速定位發熱原因并采取有效的解決措施
    的頭像 發表于 04-10 18:04 ?1606次閱讀

    TJA1043的收發器,如果CAN總線出現異常,它會進入異常狀態嗎?

    關于 TJA1043 的收發器,如果 CAN 總線出現異常,它會進入異常狀態嗎?一旦處于異常狀態,它的行為如何?例如,可以發送數據包但無法接收,謝謝
    發表于 04-04 07:30