|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于可重入函數(shù),向大俠請教! |
| 作者:lmg11710 欄目:單片機 |
小弟用keil C編譯程序后,出現(xiàn)多個如下警告: *** WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_OSDSEND?005 CALLER1: ?PR?KEYC?005 CALLER2: ?C_C51STARTUP void osdsend()函數(shù)無出入?yún)?shù),引用一個全局字符型數(shù)組,在主程序和中斷中都有調(diào)用, 知道應(yīng)該定義成可重入函數(shù),但不知該如何定義?網(wǎng)上資料對可重入函數(shù)都是一句帶過,只明白概念,請各位不吝賜教!感激萬分!! 但程序運行卻沒發(fā)現(xiàn)什么問題,如果不定義,會不會對結(jié)果產(chǎn)生錯誤? |
| 2樓: | >>參與討論 |
| 作者: computer00 于 2005/6/9 14:24:00 發(fā)布:
在該函數(shù)后邊加 reentrant。象interrupt那樣加。 |
|
| 3樓: | >>參與討論 |
| 作者: lmg11710 于 2005/6/9 14:45:00 發(fā)布:
謝謝computer00! 謝謝computer00! 我加后發(fā)現(xiàn),將參數(shù)類型為bit的函數(shù)改為可重入函數(shù),會報錯,error: bit(s) in reentrant() ,將bit型改為uchar后,可正常。但編譯后代碼量會變大很多,有辦法使用bit類型可重入函數(shù)嗎? |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2005/6/9 15:02:00 發(fā)布:
似乎位變量不可以作為形式參數(shù)。 |
|
| 5樓: | >>參與討論 |
| 作者: coke 于 2005/6/9 18:01:00 發(fā)布:
是的.再入函數(shù)不能傳遞位bit類型參數(shù) |
|
| 6樓: | >>參與討論 |
| 作者: always2004 于 2005/6/9 20:41:00 發(fā)布:
書上是這么說的 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |