freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式瀏覽器開發(fā)畢業(yè)設(shè)計畢業(yè)論文-wenkub

2023-07-13 13:06:55 本頁面
 

【正文】 的控件。在大型的瀏覽器中,語法分析通常是獨立的模塊,但在嵌入式瀏覽器中,語法分析通常是與布局混合在一起的,即一邊進行語法分析,一邊布局,不設(shè)立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來存儲語法分析的結(jié)果。 嵌入式瀏覽器的應(yīng)用領(lǐng)域嵌入式瀏覽器主要應(yīng)用于手持終端和信息家電,例如掌上電腦、3G手機、網(wǎng)絡(luò)機頂盒、具有網(wǎng)絡(luò)功能的其它家電,如可上網(wǎng)的電冰箱等,另外,在軍事等領(lǐng)域也有一定的應(yīng)用需求。(5) ZEN,一個并不知名的嵌入式瀏覽器,但卻十分優(yōu)秀,開放源碼項目,不僅支持表格,支持多種圖像格式,而且在設(shè)計上很有特色,將涉及到GUI平臺的部分獨立出來,用戶可以指定不同的GUI平臺運行,內(nèi)置了對字符,SVGA和GTK的支持,開發(fā)這只需按照相應(yīng)規(guī)范編寫該軟件的涉及GUI的部份,就可以將其移植到其它GUI平臺,而無須對整個軟件進行修改。(4) Viewml,使用FLTK作為GUI平臺開發(fā)的瀏覽器,主要面向嵌入式的應(yīng)用。是開放源碼項目。但顯然為了簡化設(shè)計,Netfront使用了一定的權(quán)宜手段。其新推出的Netfront Linux版本可以免費下載,網(wǎng)址是:。而嵌入式瀏覽器通?;趯S孟到y(tǒng)。其中IE與Netscape對HTML頁面的顯示效果均堪稱完美(對于XML,WML等標(biāo)準(zhǔn)的網(wǎng)頁瀏覽,本文不予討論)。并以網(wǎng)站的方式公布了其源代碼,為國內(nèi)嵌入式瀏覽器的發(fā)展做了有益的嘗試。嵌入式瀏覽器作為重要的嵌入式系統(tǒng)應(yīng)用軟件,是不可或缺的。嵌入式瀏覽器開發(fā)畢業(yè)設(shè)計畢業(yè)論文目 錄引言………………………………………………………………5第一章 嵌入式瀏覽器設(shè)計概述 ………………………… 6 ……………………… 6 ………………… 8 ……………………………………………… 9 …………………………………………… 10第二章 HTML詞法分析器的設(shè)計及其應(yīng)用 …………… 12 Bit Token的組成及其功能 ………………………………12 數(shù)據(jù)結(jié)構(gòu) ……………………………………………………12 算法 …………………………………………………………13……………………………………………15 HTML詞法分析的應(yīng)用 ………………………………………15第三章 瀏覽器JavaScript支持的實現(xiàn) …………………18 開發(fā)環(huán)境 ………………………………18 JavaScript Engine …………………………………………18 JavaScript與瀏覽器接合 ………………………………… 19 瀏覽器消息響應(yīng) …………………………………………… 21第四章 Linux程序開發(fā)技術(shù)及 GTK圖形程序開發(fā)…… 23 Linux下的程序開發(fā)環(huán)境 ……………………………………23 GTK圖形程序開發(fā) ……………………………………………29第五章 Netbit瀏覽器開發(fā)與分析 ……………………… 31 Netbit 瀏覽器簡介 ………………………………………… 31 Netbit Browser瀏覽器各部份的功能 …………………… 31 界面模塊………………………………………………………32 控制模塊………………………………………………………34… ………………………………………………34………………………………………35 文本文件的顯示模塊…………………………………………36 HTML文件的顯示模塊 ……………………………………… 37 Netbit實際應(yīng)用效果及比較 ……………………………… 40 Netbit Browser的缺點分析及改進辦法 …………………44 Netbit Browser未來的展望 ………………………………48第六章 其它瀏覽器分析…………………………………… 50 Dillo(Gzilla)瀏覽器分析 ……………………………… 50 Thunder瀏覽器分析…………………………………………55 Mozilla瀏覽器分析…………………………………………56 ZEN瀏覽器分析………………………………………………57 瀏覽器分析工作的總結(jié)………………………………………58致 謝…………………………………………………………… 60參考文獻表………………………………………………………61 引 言隨著計算機、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,新型的高科技含量的電子產(chǎn)品層出不窮,遍及家電、生產(chǎn)、軍事等各個領(lǐng)域。但目前,嵌入式瀏覽器產(chǎn)品的市場被少數(shù)國外大公司壟斷,眾多的小型嵌入式瀏覽器也尚處于發(fā)展期,而國內(nèi)的自主技術(shù)的嵌入式瀏覽器更屈指可數(shù),剛剛進入實用階段。 第一章 嵌入式瀏覽器設(shè)計概述:常見的桌面瀏覽器有微軟的Internet Explorer,網(wǎng)景的Netscape,開放源碼的Mozilla,以及opera,mosaic,Hotjava,字符模式的lynx等。與完美的瀏覽效果,功能豐富,支持多種媒體格式和視音頻插件等優(yōu)點形成對立的是,這些瀏覽器龐大的體積和對機器配置的高要求。需要指出的是,我們在網(wǎng)上常看到的一些所謂的優(yōu)秀瀏覽器,如Netcaptor,魔裝網(wǎng)神,騰訊,颶風(fēng),F(xiàn)antasia,金山WPS office的瀏覽器等等,均為使用IE內(nèi)核的瀏覽器,使用了多頁面多線程的方式,降低了系統(tǒng)資源的耗費,方便了瀏覽,但軟件本身沒有多少技術(shù)可言,可以用Delphi,VB等工具輕易開發(fā)出來(如果不要求完善的功能,只需簡單到拖一個IE控件過去就行了),這也體現(xiàn)了微軟的COM+及ActiveX技術(shù)的強大。經(jīng)試用,發(fā)現(xiàn)Netfront瀏覽效果非常好,對中文的支持和表格的顯示效果,甚至超過Netscape for Linux。比如它不支持使用font標(biāo)記來設(shè)置字體,也不支持樣式表,所有字體的大小是固定的,但一般情況不易發(fā)現(xiàn),不過由于Linux版本不是商業(yè)性版本,無法就此推斷其他版本的特性。我們在設(shè)計Netbit Browser時主要參考了該瀏覽器的界面設(shè)計。是開放源碼項目。缺點是網(wǎng)絡(luò)功能比較弱,不支持多線程,另外其必須等到所有圖片下載完畢才開始布局,若某文件傳輸失敗則會導(dǎo)致死鎖,需用戶中斷。下面簡介主要的組成部份,其設(shè)計原理后面將進行專門論述。語法分析對布局的算法有直接的指導(dǎo)意義。所有這些,是需要有專業(yè)的GUI庫開發(fā)經(jīng)驗的專職人員來完成。 JavaScript支持實際上JavaScript的編譯器是開放源碼的,而且全世界通用,包括IE、Mozilla、Netscape等瀏覽器都使用相同的JavaScript的編譯器,但為何其對JavaScript的支持不盡相同呢,這是因為JavaScript在瀏覽器里主要是用于操縱界面元素和與瀏覽器內(nèi)部命令進行結(jié)合。以上主要按工作的性質(zhì)進行分類,介紹了瀏覽器設(shè)計的主要幾個部份,但與實際開發(fā)工作的人員劃分不同,實際工作要考慮人員的實際能力和經(jīng)驗,結(jié)合要實現(xiàn)的目標(biāo),對各部份的投入也有輕重緩急之分,比如,如果沒有詞法分析的先行實現(xiàn),語法分析與布局都是紙上談兵。因而買斷技術(shù),加以改進也可以成為快速成長的一條道路。 GUI的選取GUI的選取是頗費腦筋的問題,一方面要考慮嵌入式系統(tǒng)是否有對應(yīng)的版本,一方面要考慮該GUI的功能是否足夠?qū)嵱?。建立GUI中間層在理論上是可行的,這樣,在必要時可以釜底抽薪,替換掉基礎(chǔ)的GUI平臺,應(yīng)用軟件完全不需修改,但中間層與基礎(chǔ)層的接口要重寫,其工作量也很大,未必是核算的買賣。(3) 實現(xiàn)簡單網(wǎng)頁的布局:實現(xiàn)對簡單網(wǎng)頁的查看??紤]到網(wǎng)絡(luò)是比較獨立的部份,把它分出去由專人負責(zé)。 Bit Token的組成及其功能Bit Token作為Netbit Browser的詞法分析部份,負責(zé)對接收的HTML代碼進行詞法分析,主要的目的是提取網(wǎng)頁中元素的名稱及其屬性,并以恰當(dāng)?shù)男问剑窗匆欢ǖ臄?shù)據(jù)結(jié)構(gòu))加以保存,也就是完成了將數(shù)據(jù)流離散化、結(jié)構(gòu)化的過程。 釋放:主要是對內(nèi)存的釋放。char * global_strBuffer。 //元素節(jié)點鏈表BitTokenList *tokenList_tail。詞法分析的目的就是生成這樣一個鏈表。 struct TokenList *next。char *pData。}BitToken,*BitPToken。(4) 如果遇到 ,則跳過(不應(yīng)該出現(xiàn)此情況,為了容錯)。 由此看來,主算法十分簡單而清晰,主要是Token_ConsumTag()和Token_Consum_PlainText()這兩個函數(shù)起關(guān)鍵作用,由于其中涉及到許多細節(jié)問題,此處不予詳述。解決的辦法是,采用回溯,確認(rèn)要分析的部份至少包含1個完整元素。htmlimg src=“” width=200 height=100a HREF=首都在線/a/html分析后,數(shù)據(jù)存儲結(jié)構(gòu)如下:img首都在線100heightdatahrefatext200widthsrc/a可以看到,詞法分析的結(jié)果是一個元素節(jié)點鏈表,每個節(jié)點的屬性也形成了一個鏈表,元素節(jié)點是有先后順序的,元素屬性的先后順序是無所謂的。具有以下主要功能:智能提取網(wǎng)頁中的文字信息,智能排版,并可在進行編輯后保存。其主要設(shè)計思路是,在Bit Token詞法分析器的基礎(chǔ)上,結(jié)合瀏覽器布局的基本算法,對影響到TXT版面效果的元素進行處理。使用常規(guī)的簡單算法進行HTML到TXT的轉(zhuǎn)換無法解決這些問題。并可以對網(wǎng)頁中的元素進行統(tǒng)計和語法校驗。 Bit Token在應(yīng)用中存在的問題及修改意見由于HTML的標(biāo)記多是成對出現(xiàn)的,并且存在SCRIPT這樣的特殊元素,其內(nèi)容為Javascript程序,函數(shù)的字符串參數(shù)等可能包含其它的元素標(biāo)記。盡管如此,對SCRIPT的特殊處理還是有待完善,盡管這同時也會帶來一些問題,需要進行大量的測試,來保證新加入代碼的穩(wěn)定性。而且被廣泛使用,實際已成為了進行JavaScript應(yīng)用開發(fā)的標(biāo)準(zhǔn)平臺。生成的shell 程序,對比瀏覽器對JavaScript的支持,相同之處是使用相同的包含JavaScript runtime的Library 或 DLL,我們把這部份相同的Library或 DLL稱為JavaScript API,我們實際開發(fā)JavaScript應(yīng)用,也是在JavaScript API基礎(chǔ)上工作,而不用過多考慮其內(nèi)部的實現(xiàn)。瀏覽器主體程序的設(shè)計者可以通過JavaScript Engine,方便的實現(xiàn)各種應(yīng)用,畢竟JavaScript API太基礎(chǔ)了,直接使用不太方便。初始化cx:cx = JS_NewContext(rt, STACK_CHUNK_SIZE)。定義系統(tǒng)函數(shù):JS_DefineFunctions(cx, globalObj, g_functions)。RegisterClassRect (cx,globalObj)。初始化定時器:TDTimerListInit()。眼睛/abrimg id=image0 src=/img/html當(dāng)鼠標(biāo)移到文字上時,觸發(fā)事件mouseover,調(diào)用ChangeImage()函數(shù),使得圖像源(SRC)發(fā)生變化,重新調(diào)入新圖片。注冊過程在BuildModel中進行。初始化該對象:TD_JSXMLElementClassInit(JS_GetGlobalContext(), (void **)amp。ElementClass,proto,JSPROP_ENUMERATE)。}將對象加入:JS_SetPrivate(JS_GetGlobalContext(), (JSObject *)*aReturn, aElement)。問題3:如何建立Javascript對象與結(jié)點樹上結(jié)點的對應(yīng)?解決: Javascript對象與結(jié)點樹是同時生成的,它們的共同性質(zhì)是結(jié)點具有相同屬性,Javascript對象根據(jù)ID屬性查找樹,找到要操作的對應(yīng)結(jié)點。處理該widget對該消息的響應(yīng)。jval)。
POSIX:該標(biāo)準(zhǔn)最初由 IEEE 開發(fā)的標(biāo)準(zhǔn)族,部分已經(jīng)被 ISO 接受為國際標(biāo)準(zhǔn)。
XPG:X/Open 可移植性指南。GNU 的 C 函數(shù)庫,即 glibc,是 Linux 上最重要的函數(shù)庫,它定義了 ISO C 標(biāo)準(zhǔn)指定的所有的庫函數(shù),以及由 POSIX 或其他 UNIX 操作系統(tǒng)變種指定的附加特色,還包括有與 GNU 系統(tǒng)相關(guān)的擴展。圖形文件操作函數(shù)庫包括: libungif、libtiff、libpng、Imlib, libjpeg 等,可分別用來操作 GIF、TIFF、PNG、JPEG 以及其他一些格式圖形文件。errno 中包含有錯誤代碼。
在 Linux 中,我們經(jīng)??吹降氖嵌x非常簡單的函數(shù)接口和變量名稱。如果程序的縮進超過 3 級,則應(yīng)考慮重新設(shè)計程序。如下所示:
int function(int x, int y){
if (x == y) {
...
} else {
...
}
return 0。不應(yīng)過分強調(diào)注釋的作用,應(yīng)盡量采用好的編碼風(fēng)格而不是添加過多的注釋。利用 gcc 命令可同時編譯并連接 C 和 C++ 源程序。
但是,gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。
DMACRO 以字符串“1”定義 MACRO 宏。GNU 調(diào)試器可利用該信息。
m486 針對 486 進行代碼優(yōu)化。
O 或 O1 優(yōu)化生成代碼。通常用在建立共享庫時。
Wall 生成所有警告信息。
在可以使用 gdb 調(diào)試程序之前,必須使用 g 選項編譯源文件。fPIC選項產(chǎn)生位置
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1