在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 什么是可重入函數(shù)和不可重入函數(shù)

            什么是可重入函數(shù)和不可重入函數(shù)

            作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
            可重入函數(shù)


            在 實(shí)時(shí)系統(tǒng)的設(shè)計(jì)中,經(jīng)常會(huì)出現(xiàn)多個(gè)任務(wù)調(diào)用同一個(gè)函數(shù)的情況。如果這個(gè)函數(shù)不幸被設(shè)計(jì)成為不可重入的函數(shù)的話,那么不同任務(wù)調(diào)用這個(gè)函數(shù)時(shí)可能修改其他任 務(wù)調(diào)用這個(gè)函數(shù)的數(shù)據(jù),從而導(dǎo)致不可預(yù)料的后果。那么什么是可重入函數(shù)呢?所謂可重入是指一個(gè)可以被多個(gè)任務(wù)調(diào)用的過程,任務(wù)在調(diào)用時(shí)不必?fù)?dān)心數(shù)據(jù)是否會(huì) 出錯(cuò)。不可重入函數(shù)在實(shí)時(shí)系統(tǒng)設(shè)計(jì)中被視為不安全函數(shù)。

            本文引用地址:http://www.biyoush.com/article/201611/322902.htm


            滿足下列條件的函數(shù)多數(shù)是不可重入的:


            (1)函數(shù)體內(nèi)使用了靜態(tài)的數(shù)據(jù)結(jié)構(gòu);


            (2)函數(shù)體內(nèi)調(diào)用了malloc()或者free()函數(shù);


            (3)函數(shù)體內(nèi)調(diào)用了標(biāo)準(zhǔn)I/O函數(shù)。


            如何寫出可重入的函數(shù)?在函數(shù)體內(nèi)不訪問那些全局變量,不使用靜態(tài)局部變量,堅(jiān)持只使用缺省態(tài)(auto)局部變量,寫出的函數(shù)就將是可重入的。如果必須訪問全局變量,記住利用互斥信號(hào)量來保護(hù)全局變量?;蛘哒{(diào)用該函數(shù)前關(guān)中斷,調(diào)用后再開中斷。

            可重入函數(shù)可以被一個(gè)以上的任務(wù)調(diào)用,而不必?fù)?dān)心數(shù)據(jù)被破壞??芍厝牒瘮?shù)任何時(shí)候都可以被中斷,一段時(shí)間以后又可以運(yùn)行,而相應(yīng)的數(shù)據(jù)不會(huì)丟失??芍厝牒瘮?shù)或者只使用局部變量,即保存在CPU寄存器中或堆棧中;或者使用全局變量,則要對(duì)全局變量予以保護(hù)。



            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉