日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

不停的malloc程序會(huì)異常嗎

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

掃碼添加小助手

加入工程師交流群

把 malloc 放在死循環(huán)里面,會(huì)是什么樣的現(xiàn)象?

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

理論上來說,堆內(nèi)存是有限的,如果不停的申請,遲早內(nèi)存會(huì)被用完,程序應(yīng)該會(huì)異常退出。

于是我找了個(gè)環(huán)境,把程序運(yùn)行起來試下。

先用虛擬機(jī),跑的一個(gè) 32 位的紅帽系統(tǒng),程序運(yùn)行起來,好像只是一個(gè)普通的死循環(huán),半天也沒見他退出,而且程序也不卡頓。

看下進(jìn)程的內(nèi)存使用情況,數(shù)值一直都沒變。

應(yīng)該可以得出結(jié)論,雖然不停的申請,但是因?yàn)閮?nèi)存沒有使用,所以系統(tǒng)并沒有真正的分配。

修改下代碼,申請了內(nèi)存后,使用 memset 把內(nèi)存初始化一下,再次運(yùn)行,不一會(huì)虛擬機(jī)卡頓,直到程序被殺死。

換個(gè)環(huán)境,這次使用 64 位的Ubuntu,同樣的代碼,沒有初始化內(nèi)存,運(yùn)行程序,很快進(jìn)程就被殺死。

運(yùn)行的時(shí)候看了下內(nèi)存的使用情況,確實(shí)是在快速的增長。

所以在這個(gè)環(huán)境里面,即使申請的堆內(nèi)存沒有使用,系統(tǒng)也確實(shí)給分配了。

同樣是 malloc 函數(shù),不同的操作系統(tǒng),內(nèi)存管理的策略也不太一樣。

#include 
#include 


int main()
{
    char *p = NULL;


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


        *p = 1;
    }   


    return 0;
}

最后給大家看個(gè)筆試題,也是關(guān)于 malloc 函數(shù),運(yùn)行程序,應(yīng)該是個(gè)怎樣的現(xiàn)象?如果你能看出來,歡迎在評論區(qū)交流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3849

    瀏覽量

    85489
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4422

    瀏覽量

    67867
  • malloc
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    391

原文標(biāo)題:不停的malloc,程序會(huì)不會(huì)異常

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MPC5777C FCCU初始化這些寄存器時(shí)是否會(huì)導(dǎo)致異常

    。我檢查了NCFS_CFG[2],發(fā)現(xiàn)它包含與 ECC 相關(guān)的寄存器。初始化這些寄存器時(shí)是否會(huì)導(dǎo)致異常? 我想知道在初始化過程中發(fā)生異常是否正常。
    發(fā)表于 04-15 09:03

    請問C語言中整形溢出會(huì)產(chǎn)生哪些異常行為?

    C語言中整形溢出會(huì)產(chǎn)生哪些異常行為?
    發(fā)表于 12-26 07:05

    C++程序異常的處理機(jī)制

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

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

    、工業(yè)應(yīng)用、汽車電子等相關(guān)的應(yīng)用,程序的執(zhí)行必須具備高實(shí)時(shí)性和高確定性。動(dòng)態(tài)內(nèi)存分配(如 malloc)的延遲是不確定的,可能會(huì)因?yàn)閮?nèi)存分配失敗或內(nèi)存碎片問題導(dǎo)致程序的執(zhí)行時(shí)間不穩(wěn)定,
    發(fā)表于 11-20 06:55

    交流不停電電源ups應(yīng)滿足哪些條件?

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

    電能質(zhì)量在線監(jiān)測裝置突跳異常數(shù)據(jù)會(huì)修嗎?

    電能質(zhì)量在線監(jiān)測裝置的突跳異常數(shù)據(jù)通常會(huì)通過 自動(dòng)修復(fù)機(jī)制 和 人工干預(yù) 相結(jié)合的方式進(jìn)行處理,但具體修復(fù)能力取決于設(shè)備配置、異常類型及平臺(tái)功能。以下是詳細(xì)說明: 一、自動(dòng)修復(fù)機(jī)制 現(xiàn)代高端監(jiān)測裝置
    的頭像 發(fā)表于 11-05 14:07 ?569次閱讀

    電能質(zhì)量在線監(jiān)測裝置異常數(shù)據(jù)會(huì)自動(dòng)修復(fù)嗎?

    電能質(zhì)量在線監(jiān)測裝置對異常數(shù)據(jù)的處理能力取決于具體技術(shù)方案和異常類型?,F(xiàn)代高端裝置通常具備有限的自動(dòng)修復(fù)能力,但需結(jié)合人工審核和硬件維護(hù),形成 “自動(dòng)修復(fù) + 人工干預(yù)” 的閉環(huán)管理體系。以下
    的頭像 發(fā)表于 10-15 16:07 ?505次閱讀

    RT-Thread Studio CH32V307工程,程序運(yùn)行異常怎么解決?

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

    rt_malloc_align函數(shù)內(nèi)存越界問題怎么解決?

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

    IGBT 樣品異常檢測案例解析

    通過利用Thermal EMMI(熱紅外顯微鏡)去檢測IGBT 樣品異常
    的頭像 發(fā)表于 08-15 09:17 ?2151次閱讀
    IGBT 樣品<b class='flag-5'>異常</b>檢測案例解析

    判斷伺服行星減速機(jī)出現(xiàn)噪音的異常

    伺服行星減速機(jī)出現(xiàn)噪音通常被視為一種異常現(xiàn)象,這種噪音可能會(huì)影響設(shè)備的正常運(yùn)行,甚至對工作環(huán)境和操作人員的健康造成不良影響。以下是對伺服行星減速機(jī)出現(xiàn)噪音異常的判斷及可能原因的分析: 一、判斷標(biāo)準(zhǔn)
    的頭像 發(fā)表于 07-31 18:16 ?1216次閱讀
    判斷伺服行星減速機(jī)出現(xiàn)噪音的<b class='flag-5'>異常</b>

    機(jī)器學(xué)習(xí)異常檢測實(shí)戰(zhàn):用Isolation Forest快速構(gòu)建無標(biāo)簽異常檢測系統(tǒng)

    本文轉(zhuǎn)自:DeepHubIMBA無監(jiān)督異常檢測作為機(jī)器學(xué)習(xí)領(lǐng)域的重要分支,專門用于在缺乏標(biāo)記數(shù)據(jù)的環(huán)境中識(shí)別異常事件。本文深入探討異常檢測技術(shù)的理論基礎(chǔ)與實(shí)踐應(yīng)用,通過IsolationForest
    的頭像 發(fā)表于 06-24 11:40 ?1618次閱讀
    機(jī)器學(xué)習(xí)<b class='flag-5'>異常</b>檢測實(shí)戰(zhàn):用Isolation Forest快速構(gòu)建無標(biāo)簽<b class='flag-5'>異常</b>檢測系統(tǒng)

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

    我在stm32cubeIDE環(huán)境下,已經(jīng)分配了足夠的棧與堆空間,但是我在的使用malloc分配內(nèi)存時(shí),一直分配不成功,這是什么原因?
    發(fā)表于 06-09 07:24

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

    我在stm32cubeIDE環(huán)境下,已經(jīng)分配了足夠的棧與堆空間,但是我在的使用malloc分配內(nèi)存時(shí),一直分配不成功,這是什么原因?
    發(fā)表于 06-04 07:18

    6.18年終狂歡購!滿額即贈(zèng),驚喜享不停!

    6.18年終狂歡購!滿額即贈(zèng),驚喜享不停!
    的頭像 發(fā)表于 05-30 18:04 ?812次閱讀
    6.18年終狂歡購!滿額即贈(zèng),驚喜享<b class='flag-5'>不停</b>!
    金昌市| 明光市| 洞头县| 互助| 厦门市| 安化县| 朝阳市| 昂仁县| 龙门县| 巴彦淖尔市| 扎鲁特旗| 札达县| 肇东市| 兖州市| 安平县| 衡南县| 镇平县| 大田县| 泰安市| 禄劝| 武汉市| 石家庄市| 元阳县| 唐海县| 常熟市| 五原县| 雷山县| 故城县| 江津市| 嵊泗县| 墨脱县| 桃园县| 桦川县| 广德县| 麻城市| 南昌市| 兴城市| 周口市| 广昌县| 荔波县| 玉田县|