資源描述:
《一種新型的編程模型--car事件編模型》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、"!!!!"!~!"開!發(fā)設(shè)!計!~!"一種新型的編程模型!!CAR事件編程模型李輝陳榕(清華大學(xué)深圳研究生院,深圳518055>E-maii:spanee@263.net摘要和欣"操作系統(tǒng)是一個新型的面向構(gòu)件的操作系統(tǒng),其上的運行時環(huán)境被稱之為CAR(CarefreeAppiicationRuntime>O在CAR上開創(chuàng)了一種新型的事件編程模型O該文詳細(xì)介紹了這種事件編程模型,并與傳統(tǒng)的Windows消息模型和現(xiàn)有的其他幾種事件模型作了比較,指出CAR事件編程模型在現(xiàn)代大型網(wǎng)絡(luò)應(yīng)用中的優(yōu)勢O關(guān)鍵詞WindowsCAR構(gòu)件消息事件編程模型文章編號1002-83
2、31-(2005>10-0086-05文獻(xiàn)標(biāo)識碼A中圖分類號TP316ANewProgrammingModel--theEventsModelonCARLiHuiChenRong(GraduateSchooiatShenzhen,TsinghuaUniversity,Shenzhen518055>Abstract:EiastosOSisanewComponent-OrientedOperatingSystem.WecaiitheruntimeenvironmentofEiastosCAR(CarefreeAppiicationRuntime>.Inthispa
3、per,weproposeaneweventsprogrammingmodeionCAR.AscomparedwiththetraditionaiWindowsmessagesmodeiandseveraipopuiareventsmodei,ourCAReventsmodeishowsitsadvantageswhenappiiedinmoderniargescaienetworkappiications.Keywords:Windows,CAR,component,message,event,programmingmodei1引言應(yīng)用程序的主窗口,一般都帶
4、有標(biāo)題欄,菜單,工具欄,客戶區(qū)Windows操作系統(tǒng)從誕生到現(xiàn)在已經(jīng)十多年了,從DOS域和狀態(tài)欄等等O對話框也屬于窗口的一種O還有一些窗口并到Windows給人一種耳目一新的感覺OWindows平臺上的基于不那么明顯,比如按鈕(button>,單選框(radiobox>,復(fù)選框消息機制的編程模型曾經(jīng)一度被認(rèn)為是一種非常成功的模型O(checkbox>,文本框(text-entryfieid>等等,它們被稱作子窗口眾所周知,Windows的圖形界面給用戶帶來了極大的方便O正(chiidwindow>或控制窗口(controiwindow>O是這種消息機制,極好地
5、支持了圖形界面應(yīng)用程序的開發(fā)O它Windows以消息的方式向應(yīng)用程序傳遞用戶對窗口的輸使得圖形界面的開發(fā)非常模塊化,條理清晰O正是有了這種消入,比如鼠標(biāo)點擊,鍵盤上按鍵的按下與彈起等等O應(yīng)用程序之息機制,才誕生了許許多多的方便而又實用的應(yīng)用程序O不可間的通信也可以用傳遞消息的方式來進(jìn)行O每個Windows應(yīng)用否認(rèn),在過去的十多年中,這是一種非常成功的編程模型O然程序可以有一個或多個窗口(有些特殊的應(yīng)用程序沒有窗口>O而,在Windows誕生時,互聯(lián)網(wǎng)遠(yuǎn)沒有現(xiàn)在這樣發(fā)達(dá)O現(xiàn)代大Windows為每個正在內(nèi)存中運行的應(yīng)用程序?qū)iT維護(hù)了一個型網(wǎng)絡(luò)應(yīng)用需要在操作系統(tǒng)層面
6、上給予更魯棒,更高效的支消息隊列(messagegueue>,用戶對該應(yīng)用程序所屬的所有窗持O根據(jù)這樣的需求,Windows的消息機制就遠(yuǎn)遠(yuǎn)不能滿足要口的輸入,都被映射為相應(yīng)的消息,存儲在消息隊列中O求了O這篇文章介紹一種新型的基于事件的編程模型,稱之為在Windows應(yīng)用程序中,每個窗口都伴隨著一個窗口過程CAR事件編程模型O(windowprocedure>,它負(fù)責(zé)對該窗口的所有消息進(jìn)行相應(yīng)的該文第2節(jié)簡單介紹了一下傳統(tǒng)的Windows消息編程模處理.如果一個Windows應(yīng)用程序有多個窗口,相應(yīng)地,也就有型;第3節(jié)提出了消息編程模型的缺點,由此引入第4節(jié)
7、,對多個窗口過程,每個窗口過程負(fù)責(zé)處理相應(yīng)窗口的消息,互不CAR事件編程模型的詳細(xì)介紹;第5節(jié)論述了CAR事件編程干擾.應(yīng)用程序的主函數(shù)從消息隊列中取得消息,然后將消息模型的一些優(yōu)點;第6節(jié)將其與現(xiàn)有的一些事件編程模型做了分發(fā)給相應(yīng)的窗口過程,這是一個輪詢的過程.窗口過程對不一個簡單的比較;最后在第7節(jié)展望了CAR事件編程模型在同的消息進(jìn)行不同的處理O下面,以一個非常簡單但是很典型未來的發(fā)展O的Windows應(yīng)用程序中的代碼片斷來說明這一機制[1]OintAPIENTRYWinmain(HINSTANCEhInstance,2Windows消息模型簡介HINS
8、TANCEhPrevInstance,