精打細(xì)算教學(xué)案例范文
時(shí)間:2023-10-18 17:21:43
導(dǎo)語(yǔ):如何才能寫(xiě)好一篇精打細(xì)算教學(xué)案例,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
一、依法規(guī)范辦學(xué)行為。
組織師生認(rèn)真學(xué)習(xí)貫徹《中華人民共和國(guó)義務(wù)教育法》,增強(qiáng)法制觀念,提高法律意識(shí),堅(jiān)持依法規(guī)范管理學(xué)校,規(guī)范辦學(xué)行為。不斷完善學(xué)校各項(xiàng)規(guī)章制度,促進(jìn)學(xué)校各項(xiàng)工作健康發(fā)展。
二、加強(qiáng)教師隊(duì)伍建設(shè)。
進(jìn)一步貫徹落實(shí)《中小學(xué)教師職業(yè)道德規(guī)范》,進(jìn)一步端正教育思想,繼續(xù)發(fā)揚(yáng)我校教職工,立足本職工作,勤業(yè)、樂(lè)業(yè)的高尚精神。求真務(wù)實(shí),勇于奉獻(xiàn),爭(zhēng)當(dāng)師德楷模。使全體教師真正樹(shù)立為人師表意識(shí),服務(wù)意識(shí),終身學(xué)習(xí)意識(shí),改革創(chuàng)新意識(shí),從而以高度的使命感、責(zé)任感、緊迫感,認(rèn)真完成學(xué)校的各項(xiàng)工作。
三、德育工作
加強(qiáng)德育隊(duì)伍的建設(shè),強(qiáng)化教師育人意識(shí),全面提高教職工德育素養(yǎng)和專業(yè)化水平,以基礎(chǔ)道德教育為重點(diǎn),大力開(kāi)展以愛(ài)國(guó)主義教育、公民道德教育和以培養(yǎng)文明素養(yǎng)為重點(diǎn)的養(yǎng)成教育。
1、認(rèn)真做好每周的升旗儀式,做到制度化、規(guī)范化。結(jié)合重大節(jié)日對(duì)學(xué)生進(jìn)行思想教育,強(qiáng)化學(xué)生道德意識(shí)、愛(ài)國(guó)意識(shí)。
2、加強(qiáng)養(yǎng)成教育。每學(xué)期組織學(xué)生認(rèn)真學(xué)習(xí)落實(shí)《小學(xué)生守則》和《小學(xué)生日常行為規(guī)范》,大力開(kāi)展文明禮儀教育活動(dòng),設(shè)計(jì)符合我校學(xué)生實(shí)際,關(guān)注學(xué)生行為細(xì)節(jié),注重學(xué)生行為體驗(yàn)的活動(dòng)。在“唱響國(guó)歌、不說(shuō)臟話、做文明觀眾、愛(ài)護(hù)環(huán)境、遵守規(guī)則、愛(ài)護(hù)公共財(cái)物”等方面開(kāi)展具有實(shí)效性教育實(shí)踐活動(dòng),把德育工作落在實(shí)處。
3、注重心理健康教育,做好學(xué)生的心理健康教育工作。要求班任教師發(fā)現(xiàn)問(wèn)題及時(shí)加以引導(dǎo)。了解學(xué)生,關(guān)注學(xué)生的心理,促使學(xué)生健康的成長(zhǎng)。
4、課堂教學(xué)滲透德育。把德育教育寓于各學(xué)科之中。努力挖掘各學(xué)科課程中的德育資源,把愛(ài)國(guó)主義、革命傳統(tǒng)教育、美德教育等教育內(nèi)容挖掘出來(lái),并在教學(xué)過(guò)程中引導(dǎo)學(xué)生自悟自醒。每一位教師都十分重視在課堂教學(xué)滲透德育,充分利用所教學(xué)科教學(xué)內(nèi)容所蘊(yùn)含的德育資源,做到既教書(shū)又育人。
5、抓好學(xué)生的法制法規(guī)教育、交通安全教育、環(huán)境教育、誠(chéng)信教育和安全自護(hù)教育等專項(xiàng)教育。增強(qiáng)學(xué)生法制觀念,環(huán)保意識(shí),促進(jìn)學(xué)生生動(dòng)、活潑地健康成長(zhǎng)。
四、教學(xué)工作
1、認(rèn)真執(zhí)行《課程計(jì)劃》,開(kāi)足學(xué)科,保證學(xué)時(shí),按照新課標(biāo)上好每一節(jié)課。認(rèn)真總結(jié)上學(xué)年學(xué)校課程實(shí)施情況,制定好本學(xué)年學(xué)校課程實(shí)施方案。
2、深入開(kāi)展“校本教研”工作。每學(xué)期開(kāi)學(xué)的第二周組織教師進(jìn)行教學(xué)練兵活動(dòng)。取人之長(zhǎng),補(bǔ)已之短,共同學(xué)習(xí),全面提高。做到以新的課改理念指導(dǎo)教學(xué)實(shí)踐,把新的教學(xué)觀念轉(zhuǎn)變?yōu)榻處煹慕虒W(xué)行為。加強(qiáng)課改教學(xué)實(shí)踐的研究,切實(shí)提高教師實(shí)施新課程的能力與水平。全體教師結(jié)合自己的教學(xué)實(shí)踐,注意積累教學(xué)案例,撰寫(xiě)反思筆記。進(jìn)一步提高自己在教學(xué)實(shí)踐中研究意識(shí)與能力,做到“邊教學(xué),邊總結(jié),邊提高”。努力形成具有特色原教學(xué)思想、教學(xué)風(fēng)格。
3、備課、上課、作業(yè)、輔導(dǎo)、考核等常抓不懈。堅(jiān)持每月對(duì)教師的各學(xué)科教案,各學(xué)科作業(yè)檢查一次,認(rèn)真進(jìn)行總結(jié),發(fā)現(xiàn)問(wèn)題及時(shí)糾正,對(duì)教學(xué)全過(guò)程進(jìn)行評(píng)價(jià),監(jiān)控,以便及時(shí)調(diào)整。在備課中要求教師一閱、二畫(huà)、三寫(xiě)、四對(duì)照、五修改。做到書(shū)、案結(jié)合,上課有備無(wú)患。在課堂教學(xué)上,遵守教學(xué)規(guī)律,深化課堂教學(xué)改革。充分利用四十分鐘的時(shí)間,提高課堂教學(xué)效率,向四十分鐘要質(zhì)量。
4、每位教師都能充分利用多媒體等現(xiàn)代化教育設(shè)備資源。表現(xiàn)突出的是一年、二年班主任。經(jīng)常利用光盤(pán)上好遠(yuǎn)程教育課,提高自己,服務(wù)于學(xué)生。積極開(kāi)展信息技術(shù)與學(xué)科教學(xué)整合的研究,促進(jìn)了教學(xué)內(nèi)容的呈現(xiàn)方式,學(xué)生的學(xué)習(xí)方式,教師的教學(xué)方式和師生互動(dòng)方式的變革,提高教師在課堂教學(xué)中的綜合運(yùn)用信息技術(shù)的水平。
5、認(rèn)真進(jìn)行教學(xué)質(zhì)量分析。找準(zhǔn)優(yōu)勢(shì)與不足,發(fā)揚(yáng)長(zhǎng)處,改進(jìn)不足。每學(xué)期的期中或期末考查,都認(rèn)真的組織教師進(jìn)行卷面分析,對(duì)重點(diǎn)問(wèn)題進(jìn)行專題研討,盡快改進(jìn),深入開(kāi)展閱讀教學(xué)、作文教學(xué)的研究,努力提高閱讀教學(xué),作文教學(xué)的水平,提高了學(xué)生的閱讀和作文水平。在全鎮(zhèn)質(zhì)量抽測(cè)中,我校的教學(xué)成績(jī)有明顯提高,取得了令人滿意的成績(jī)。
五、工會(huì)工作
1、維護(hù)全體教職工的切身利益,做好校務(wù)公開(kāi)工作。
2、關(guān)心教職工的思想、生活、身心健康,辦好本校的小食堂,開(kāi)展好工會(huì)活動(dòng)。
3、廣泛聽(tīng)取教職工的意見(jiàn)與建議,完善學(xué)校規(guī)章制度,調(diào)動(dòng)廣大教職工積極性,促進(jìn)學(xué)校民發(fā)展。
六、體育工作
1、認(rèn)真學(xué)習(xí)新的體育健康標(biāo)準(zhǔn),用新的教育理念指導(dǎo)教學(xué)工作,上好體育課,認(rèn)真完成教學(xué)任務(wù),做好體育2 1的測(cè)試工作,使較好地掌握教材要求的體育技能,達(dá)到應(yīng)具備的體能。
2、從學(xué)生的健康出發(fā),上好體育課,課間操,堅(jiān)持每天做好眼保健操。保證學(xué)生每一小時(shí)的體育鍛煉時(shí)間。
3、帶好體育代表隊(duì),做到有計(jì)劃,堅(jiān)持訓(xùn)練,在全鎮(zhèn)運(yùn)動(dòng)會(huì)比賽中獲得村小第二名。取得較好的成績(jī)。
七、衛(wèi)生工作
做好衛(wèi)生知識(shí)的宣傳教育,做好校園環(huán)境管理工作,營(yíng)造一個(gè)文明衛(wèi)生的校園環(huán)境,從而達(dá)到了環(huán)境育人。
八、后勤工作
1、嚴(yán)格財(cái)務(wù)制度要,精打細(xì)算,節(jié)約開(kāi)支。
2、搞好校園綠化、美化工作,本年維修了綠色長(zhǎng)廊,增加了草坪種植面積,補(bǔ)栽了梧桐樹(shù)15棵。
3、做好校舍的維修,改善了辦學(xué)條件。本年度為一―六年的教室釘了扣板,室內(nèi)重新造白,校舍外面粉刷了涂料,建摩托車棚一個(gè),水泥墻一百多延長(zhǎng)米。使我校的班容校貌煥然一新。
4、做好圖書(shū)管理、借閱工作。充分發(fā)揮圖書(shū)的功能,為師生服務(wù),為教育教學(xué)服務(wù)。
九、檔案工作
1、定期收集檔案資料,及時(shí)整理,管理規(guī)范。
2、充分發(fā)揮資料的作用,為教育教學(xué)服務(wù)。
十、存在問(wèn)題
1、教育經(jīng)費(fèi)不足,經(jīng)濟(jì)困難,日前還赤字。
篇2
摘要:“嵌入式應(yīng)用技術(shù)”課程的一個(gè)教學(xué)難點(diǎn)是培養(yǎng)學(xué)生編寫(xiě)高效嵌入式C語(yǔ)言程序的能力,本文從教學(xué)角度講述了如何讓學(xué)生理解嵌入式軟件時(shí)空要求的苛刻性、編寫(xiě)高質(zhì)量代碼所需的基礎(chǔ)知識(shí)以及C語(yǔ)言代碼的常用優(yōu)化方法。
關(guān)鍵詞:嵌入式軟件;C語(yǔ)言;代碼優(yōu)化
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
隨著嵌入式系統(tǒng)在汽車電子、工業(yè)控制、智能家居等領(lǐng)域的廣泛使用,大專院校的計(jì)算機(jī)、電子、通信、自動(dòng)化控制等理工科專業(yè)都開(kāi)設(shè)了“嵌入式應(yīng)用技術(shù)”課程,編寫(xiě)高效的嵌入式C語(yǔ)言程序是嵌入式基礎(chǔ)課程學(xué)習(xí)的一個(gè)重要環(huán)節(jié),也是一個(gè)教學(xué)難點(diǎn)。嵌入式系統(tǒng)受其使用的硬件以及運(yùn)行環(huán)境的限制,對(duì)程序運(yùn)行的空間和時(shí)間要求非常嚴(yán)格,需要對(duì)嵌入式應(yīng)用程序進(jìn)行性能優(yōu)化,以滿足嵌入式應(yīng)用的性能需求。本文結(jié)合作者多年實(shí)際嵌入式系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)及嵌入式應(yīng)用技術(shù)課程教學(xué)體會(huì),探討如何培養(yǎng)學(xué)生編寫(xiě)高效嵌入式軟件的能力。
1培養(yǎng)學(xué)生編寫(xiě)高效嵌入式軟件的意識(shí)
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),其核心是嵌入式微處理器。嵌入式系統(tǒng)是一種性價(jià)比很高的應(yīng)用系統(tǒng),為了提高性價(jià)比,一方面在硬件上要進(jìn)行合理配置,另一方面需要提高軟件的效率,充分發(fā)揮硬件的特性,這兩個(gè)方面是相輔相成的。但是剛剛接觸嵌入式系統(tǒng)的學(xué)生會(huì)缺乏這方面的認(rèn)識(shí),他們往往習(xí)慣于PC機(jī)的程序設(shè)計(jì),很少考慮程序的優(yōu)化。嵌入式系統(tǒng)的運(yùn)算速度、內(nèi)存容量和PC機(jī)相比,差距太大。例如作者在實(shí)現(xiàn)一款方位測(cè)定系統(tǒng)時(shí),選用Freescale的MC908MR8作為主控芯片,其最高總線速度為8MHZ、內(nèi)存為256字節(jié)、程序存儲(chǔ)空間才8K。面對(duì)這種有限的硬件資源,要實(shí)現(xiàn)高效,一定要區(qū)別于常規(guī)的PC機(jī)編程,要合理使用有限的硬件資源,對(duì)每一個(gè)內(nèi)存空間的分配、每一條程序語(yǔ)句以及每一個(gè)算法都要進(jìn)行仔細(xì)斟酌。
為了提高學(xué)生對(duì)于嵌入式軟件的認(rèn)識(shí),作者在“嵌入式應(yīng)用技術(shù)”課程教學(xué)別設(shè)計(jì)了一些教學(xué)案例。例如,假定16位整型數(shù)值X和Y是直角三角形的兩邊,編程求解Y邊所對(duì)應(yīng)角的度數(shù)(精確到1度,基于MC908MR8芯片)。當(dāng)時(shí)學(xué)生很納悶,這種問(wèn)題太簡(jiǎn)單了,一條C語(yǔ)句就可以實(shí)現(xiàn)了:
JiaoDu=atan(Y/X)*180/PI;
的確,通過(guò)調(diào)用內(nèi)部函數(shù)atan可以實(shí)現(xiàn)上述功能,但這種方法在低端嵌入式軟件中是一種很糟糕的方法。在MT-IDE For Freescale HC08的集成開(kāi)發(fā)環(huán)境中,通過(guò)查看list列表文件,這條語(yǔ)句編譯后,需要占用8038~8B04,2764字節(jié)的程序存儲(chǔ)空間。假如將這條語(yǔ)句用在上述的方位測(cè)定系統(tǒng)中,一條語(yǔ)句就要占MR8三分之一的存儲(chǔ)空間,2764/(8*1024)≈0.33,這是一件很可怕的事情。再仔細(xì)查看list文件,內(nèi)部函數(shù)atan在實(shí)現(xiàn)時(shí)使用浮點(diǎn)運(yùn)算,通過(guò)泰勒展開(kāi)式來(lái)實(shí)現(xiàn)的,而通常的8位、16位微處理器沒(méi)有協(xié)處理器,對(duì)于浮點(diǎn)運(yùn)算的處理效率是非常低的。因此,從嵌入式軟件的角度來(lái)審視這條語(yǔ)句,它是一個(gè)不好的選擇。假如采用查表的思想,將atan(χ) *180/PI預(yù)先計(jì)算出來(lái),建一張表,根據(jù)χ值的不同,查表就可以很快地計(jì)算出角度。通過(guò)這種實(shí)例,學(xué)生體會(huì)到了高質(zhì)量的嵌入式軟件需要區(qū)別于PC機(jī)的程序設(shè)計(jì)。
2深入理解匯編語(yǔ)言是編寫(xiě)高效嵌入式軟件的基礎(chǔ)
匯編語(yǔ)言是學(xué)習(xí)嵌入式系統(tǒng)的基礎(chǔ),使用匯編程序的優(yōu)點(diǎn)是執(zhí)行效率高,時(shí)序控制精確。在剛開(kāi)始學(xué)習(xí)嵌入式系統(tǒng)時(shí),要克服畏懼匯編語(yǔ)言的心理,一定要先使用匯編語(yǔ)言編寫(xiě)一些程序,在這個(gè)過(guò)程中可以深刻理解單片機(jī)的各種概念,特別是指令系統(tǒng)。最近幾年微控制器的發(fā)展很快,其資源有了極大的豐富,但其運(yùn)算速度、存儲(chǔ)容量和PC機(jī)還是有天壤之別,所以在面向低端的嵌入式編程時(shí),對(duì)資源的利用還需要精打細(xì)算。通過(guò)匯編語(yǔ)言編程,可以更深層次了解微控制器資源的分配情況,養(yǎng)成“節(jié)約”資源的習(xí)慣。同時(shí),掌握了匯編語(yǔ)言,對(duì)于以后使用C語(yǔ)言程序時(shí),會(huì)恰當(dāng)?shù)剡x擇C語(yǔ)言語(yǔ)句。另外,C語(yǔ)言對(duì)編譯器的依賴性較強(qiáng),不同的編譯器編譯出來(lái)的目標(biāo)代碼差別較大,通過(guò)查看編譯產(chǎn)生的匯編文件,可以提高C語(yǔ)言編程技巧,優(yōu)化C語(yǔ)言程序。
在上述的實(shí)例中,假如需要分解出角度值(JiaoDu)的百位、十位及個(gè)位,通常的編程方法如下:
BaiWei= JiaoDu /100;
ShiWei =(JiaoDu %100)/10;
GeWei= JiaoDu %10;
這種方法是可行的,但通過(guò)閱讀編譯后的list文件,就會(huì)發(fā)現(xiàn)它的不足。
在執(zhí)行除法和求模的運(yùn)算時(shí),調(diào)用了內(nèi)部子程序“__divmodu_16X16_16”進(jìn)行16進(jìn)制的除法和求模運(yùn)算。通過(guò)閱讀該子程序的匯編代碼,發(fā)現(xiàn)除法運(yùn)算是通過(guò)減法來(lái)實(shí)現(xiàn)的, “JiaoDu /100”是每次將JiaoDu減去100,直到JiaoDu小于100為止,循環(huán)減的次數(shù)是商。假如JiaoDu=299°,則“JiaoDu /100”需要進(jìn)行2次循環(huán)減法,“(JiaoDu %100)/10”需要進(jìn)行2+9=11次循環(huán)減法,“JiaoDu %10” 需要進(jìn)行9循環(huán)減法,每一次減法需要大約80個(gè)指令周期,則上述程序需要(2+11+9)*80=1760個(gè)指令周期,很顯然這是一段效率極低的程序。
假如熟悉Freescale HC08的指令系統(tǒng),其中有一條除法指令:DIV,7個(gè)指令周期,它是將寄存器H和A組成的16位數(shù)除以寄存器X(8位數(shù)),除法運(yùn)算后,商存儲(chǔ)在A中,余數(shù)存儲(chǔ)在H中,即DIV是16位數(shù)除以8位數(shù),商必須是8位。而編譯器在編譯時(shí)不知道相除的結(jié)果是否是8位,所以不能使用DIV指令。但在本問(wèn)題中,由于JiaoDu的范圍是0~360,上述除法運(yùn)算完全可以使用DIV指令。采用C語(yǔ)言中嵌入下面的匯編子程序,可以大大提高程序的執(zhí)行效率。
__DivMod16X8_8:
;(1)進(jìn)棧
PSHH
PSHX
PSHA
;(2)百位數(shù)
LDHX_JiaoDu
TXA
LDX#100
DIV
STA_BaiWei
PSHH
;(3)十位數(shù)和個(gè)位數(shù)
PULA;H-->A
CLRH
LDX#10
DIV
STA_ShiWei
PSHH
PULA
STA_GeWei
;(4)出棧
PULA
PULX
PULH
RTS
用這段程序分解出角度值(JiaoDu)的百位、十位及個(gè)位僅僅需要60個(gè)指令周期。
3掌握嵌入式C語(yǔ)言代碼優(yōu)化方法
3.1數(shù)據(jù)類型的選用
嵌入式C語(yǔ)言編程不同于一般C語(yǔ)言編程的一個(gè)顯著特點(diǎn),就是要和程序存儲(chǔ)器資源結(jié)合起來(lái),雖然其提供的數(shù)據(jù)類型十分豐富,但是只有bit和char等數(shù)據(jù)類型是機(jī)器語(yǔ)言直接支持的數(shù)據(jù)類型,用此類數(shù)據(jù)類型的語(yǔ)句所生成的代碼較短;而其它的數(shù)據(jù)類型如整型、浮點(diǎn)型等數(shù)據(jù)要有一定的內(nèi)部程序或內(nèi)部函數(shù)的支持,相對(duì)來(lái)說(shuō)用該類數(shù)據(jù)類型的語(yǔ)句生成的代碼要長(zhǎng)。有些C語(yǔ)言程序表面上看起來(lái)十分的簡(jiǎn)單,但在實(shí)際編譯時(shí),生成的代碼卻相當(dāng)長(zhǎng)。因此要按照實(shí)際需要,盡量選用占用存儲(chǔ)空間少的數(shù)據(jù)類型,可以大大的減少所生成的代碼長(zhǎng)度。例如在08C中用不同的數(shù)據(jù)類型定義i時(shí),語(yǔ)句
for(i=0;i
經(jīng)編譯后生成的代碼長(zhǎng)度如表1所示。
在位操作時(shí)選用表2中的語(yǔ)句,可以達(dá)到和匯編相同的執(zhí)行效率。
3.2使用查表,簡(jiǎn)化數(shù)學(xué)計(jì)算
在程序中盡量不進(jìn)行非常復(fù)雜的運(yùn)算,特別是避免浮點(diǎn)數(shù)的運(yùn)算。對(duì)于這些消耗時(shí)間和資源的運(yùn)算,可以預(yù)先將函數(shù)值計(jì)算出來(lái),置于程序存儲(chǔ)區(qū)中,以后程序運(yùn)行時(shí)直接查表即可,這樣就減小了程序執(zhí)行過(guò)程中重復(fù)計(jì)算的工作量。
在前面所述的計(jì)算JiaoDu值的計(jì)算公式就可以建立以(250*Y/X)的值為表項(xiàng),把Y擴(kuò)大250倍,再除以X,再四舍五入,建立整數(shù)值的一維線性表:
const unsigned char TanTable[]={0,4,9,13,17,22,26,31,35,
40,44,49,53,58,62,67,72,76,81,86,
91,96,101,106,111,117,122,127,133,139,144,150,156,162,169,175,182,188,195,202,210,
217,225,233,241,250};
一維線性表的下標(biāo)就是atan(Y/X)*180/PI所對(duì)應(yīng)的角度,假如250*Y/X=12,則角度值為3°。這里的表只有0~45°,其原因在于數(shù)學(xué)函數(shù)tan(Y/X)= 90°-tan(X/Y)。所以在編寫(xiě)程序的時(shí)候,靈活地采用一些數(shù)學(xué)方法會(huì)對(duì)程序帶來(lái)方便。
3.3多分支語(yǔ)句的優(yōu)化
C語(yǔ)言中有“if―else if”和“switch/case”兩種多分支語(yǔ)句,將最可能發(fā)生的情況放在第一個(gè),最不可能的情況放在最后一個(gè),可以提高分支語(yǔ)句的執(zhí)行速度。
switch/case語(yǔ)句似乎比if―else if鏈更容易理解,用起來(lái)更方便,但引入switch/case語(yǔ)句的初衷并非為了可讀性和便利,而是處于效率的考慮。如果要檢測(cè)10個(gè)單獨(dú)表達(dá)式的if―else if鏈,所有的情況都互相排斥,并且概率相等,那么程序平均要執(zhí)行5次比較才能碰到值位true的表達(dá)式。在匯編語(yǔ)言中,通過(guò)查找表及間接跳轉(zhuǎn),可以花費(fèi)固定時(shí)長(zhǎng)將控制轉(zhuǎn)往若干不同位置之一,而與情況的數(shù)目無(wú)關(guān)。這種代碼使用switch/case表達(dá)式的值作為地址表的索引,間接跳轉(zhuǎn)到表項(xiàng)指定的語(yǔ)句處。當(dāng)情況多于4種時(shí),switch/case比if―else if鏈更快。但是依據(jù)這種方法,switch/case語(yǔ)句有嚴(yán)重缺陷,對(duì)表達(dá)式的最小值到最大值中的每個(gè)可能的值都必須有表項(xiàng)。所以當(dāng)表達(dá)式的值不連續(xù)且間隔較大時(shí),不適合于使用switch/case,編譯器很難對(duì)這種情況做優(yōu)化處理。
3.4循環(huán)體的優(yōu)化
循環(huán)體是程序設(shè)計(jì)和優(yōu)化的重點(diǎn),對(duì)于一些不需要循環(huán)變量參加運(yùn)算的模塊,可以把它放到循環(huán)的外面。對(duì)于次數(shù)固定的循環(huán)體,for 循環(huán)比while 循環(huán)效率更高,減計(jì)數(shù)循環(huán)比增計(jì)數(shù)循環(huán)速度快。
實(shí)際運(yùn)行時(shí),每次循環(huán)需要在循環(huán)體外加兩條指令:一條減法指令(減少循環(huán)計(jì)數(shù)值) 和一條條件分支指令。這些指令稱為“循環(huán)開(kāi)銷”。在Freescale HC08 處理器上,減法指令需要1個(gè)周期,條件分支指令需要3個(gè)周期,這樣每個(gè)循環(huán)另加了4個(gè)周期的開(kāi)銷??梢圆捎醚h(huán)展開(kāi)的方法來(lái)提高循環(huán)運(yùn)行的速度,即:重復(fù)循環(huán)主題多次,并按同樣的比例減少循環(huán)次數(shù)來(lái)減小循環(huán)的開(kāi)銷,以增加代碼尺寸來(lái)?yè)Q取程序的運(yùn)行速度。
4小結(jié)
C語(yǔ)言作為一種通用的高級(jí)語(yǔ)言,語(yǔ)言簡(jiǎn)潔、緊湊,運(yùn)算符豐富,程序具有很好的移植性,同時(shí),C語(yǔ)言在開(kāi)發(fā)速度、軟件可靠性以及軟件質(zhì)量等方面都有著明顯的優(yōu)勢(shì)。因此,C語(yǔ)言適合于嵌入式系統(tǒng)的程序設(shè)計(jì)。但是,如何讓學(xué)生用好C語(yǔ)言,編寫(xiě)高效的嵌入式軟件,還需要教師在課程教學(xué)中滲透高效C語(yǔ)言編程思想,并通過(guò)實(shí)例強(qiáng)化代碼優(yōu)化的方法。只有當(dāng)學(xué)生真正領(lǐng)悟了嵌入式軟件的內(nèi)涵,將代碼優(yōu)化的方法和手段應(yīng)用到實(shí)際的程序設(shè)計(jì)中,才能編寫(xiě)出高質(zhì)量的嵌入式軟件,從而達(dá)到嵌入式基礎(chǔ)課程的培養(yǎng)目標(biāo)。
參 考 文 獻(xiàn)
[1] 王宜懷,劉曉升. 嵌入式應(yīng)用技術(shù)基礎(chǔ)教程[M]. 北京:清華大學(xué)出版社,2005.
[2] 王軍安. 淺析嵌入式系統(tǒng)的軟件優(yōu)化設(shè)計(jì)[J]. 計(jì)算機(jī)工程與應(yīng)用,2004:102-103.