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

正文內(nèi)容

嵌入式瀏覽器開發(fā)畢業(yè)設(shè)計(jì)畢業(yè)論文-全文預(yù)覽

2025-07-19 13:06 上一頁面

下一頁面
  

【正文】 示所有的 make 選項(xiàng)。GNU make 通常稱之為變量,而其他 UNIX 的 make工具稱之為宏,實(shí)際是同一個(gè)東西。
(3) makefile 變量GNU 的 make 工具除提供有建立目標(biāo)的基本功能之外,還有許多便于表達(dá)依賴性關(guān)系以及建立目標(biāo)的命令的特色。例如,假設(shè)你現(xiàn)在有一個(gè) C++ 源文件 ,該源文件包含有自定義的頭文件 ,則目標(biāo)文件 明確依賴于兩個(gè)源文件: 和 。在 UNIX 系統(tǒng)中,習(xí)慣使用 Makefile 作為 makfile 文件。
實(shí)際上,make 工具通過一個(gè)稱為 makefile 的文件來完成并自動(dòng)維護(hù)編譯工作。 GNU make 和 makefile(1) GNU make簡介
在大型的開發(fā)項(xiàng)目中,通常有幾十到上百個(gè)的源文件,如果每次均手工鍵入 gcc 命令進(jìn)行編譯的話,則會(huì)非常不方便。通常使用 ar 程序把一些目標(biāo)文件(.o)組合在一起,成為一個(gè)單獨(dú)的庫,然后運(yùn)行 ranlib,以給庫加入一些索引信息。在 X Window 系統(tǒng)中,有一個(gè) gdb 的前端圖形工具,稱為 xxgdb。
UMACRO 取消對(duì) MACRO 宏的定義。
O3 比 O2 更進(jìn)一步優(yōu)化,包括 inline 函數(shù)。用在生成可執(zhí)行文件時(shí)。
LDIRECTORY 指定額外的函數(shù)庫搜索路徑DIRECTORY。
E 只運(yùn)行 C 預(yù)編譯器。
例如可以如下調(diào)用 g++ 命令編譯、連接并生成可執(zhí)行文件:$ g++ o hello
$ ./hello
(2) gcc/egcs 的主要選項(xiàng)
ansi 只支持 ANSI 標(biāo)準(zhǔn)的 C 語法。一般來說,C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。GCC 是 GNU 的 C 和 C++ 編譯器。對(duì)變量名,不贊成使用大小寫混寫的形式,但鼓勵(lì)使用描述性的名稱;盡可能不使用全局變量;不采用匈牙利命名法表示變量的類型;采用短小精悍的名稱表示局部變量;保持函數(shù)短小,從而避免使用過多的局部變量。除函數(shù)的定義體外,應(yīng)當(dāng)將左大括號(hào)放在行尾,而將右大括號(hào)放在行首。在利用 C 語言編寫程序時(shí),應(yīng)當(dāng)符合其簡潔的設(shè)計(jì)原則,而不應(yīng)當(dāng)使用非常復(fù)雜的變量命名方法。
(4) C 語言編程風(fēng)格
良好的編程風(fēng)格可以在許多方面幫助開發(fā)人員,可以增加代碼的可讀性,并幫助你理清頭緒。在 C 語言中,操作系統(tǒng)的系統(tǒng)調(diào)用通常通過函數(shù)調(diào)用的形式完成,在 Linux 系統(tǒng)中,系統(tǒng)調(diào)用函數(shù)定義在 glibc 中。glibc 基于如下標(biāo)準(zhǔn):ISO C: C 編程語言的國際標(biāo)準(zhǔn),即 ANSI C,POSIX,Berkeley Unix,SVID,XPG。
(2) 函數(shù)庫和系統(tǒng)調(diào)用
glibc:眾所周知,C 語言并沒有為常見的操作,例如輸入/輸出、內(nèi)存管理,字符串操作等提供內(nèi)置的支持。System V 接口描述(SVID)是描述 ATamp。 第四章 Linux程序開發(fā)技術(shù)及 GTK圖形程序開發(fā) Linux下的程序開發(fā)環(huán)境(1) 標(biāo)準(zhǔn) (ANSI C, POSIX, SVID, XPG, ...)
ANSI C:這一標(biāo)準(zhǔn)是 ANSI(美國國家標(biāo)準(zhǔn)局)于 1989 年制定的 C 語言標(biāo)準(zhǔn)。TDVOID TDWidgetDoAction(TDPWidgetAction pAnchor){ jsval jval。首先:取得當(dāng)前焦點(diǎn)所在的widgetpWidget=TDWidgetGetAtPoint(pThis,pt,amp。問題2解決:利用注冊(cè)給對(duì)象的函數(shù)實(shí)現(xiàn)操作符的功能化。*aReturn = JS_NewObject(JS_GetGlobalContext(), amp。aName)){ parent = js_GetGlobalObject()。其次就是要將某些結(jié)點(diǎn)注冊(cè)為JavaScript對(duì)象。2. javascript如何改變HTML元素的屬性,并操作WIDGET重畫。}/script/heada onmouseover=ChangeImage(0)。RegisterClassColorKey (cx,globalObj)。注冊(cè)其它類:RegisterClassPoint (cx,globalObj)。globalClass, 0, 0)。這也包含了利用JavaScript API進(jìn)行應(yīng)用的基本思路。JavaScript API實(shí)際就是Javscript解釋器的對(duì)外接口函數(shù)庫。既可以編譯成小的 shell 程序(像早期的BASIC),又連接Library后生成交互式的JavaScript解釋器, 文件。 第三章 瀏覽器JavaScript支持的實(shí)現(xiàn)本部份主要針對(duì)Mozilla和Netscape瀏覽器源代碼的JavaScript部份進(jìn)行了分析,闡述了瀏覽器Javascript實(shí)現(xiàn)的機(jī)制。因此,在詞法分析時(shí)要對(duì)SCRIPT標(biāo)記進(jìn)行特殊處理,遇到SCRIPT就應(yīng)逐字符讀入后面的內(nèi)容,直到遇到下一個(gè)/SCRIPT標(biāo)記。 //取首節(jié)點(diǎn) while(pTtokenList!=NULL) //循環(huán)直至處理完所有節(jié)點(diǎn) { switch(pTtokenListtokentype) {//根據(jù)節(jié)點(diǎn)類型,做不同的處理 case HTML_TITLE: …… case HTML_TEXT: …… default: …… } //switch pTtokenList=pTtokenListnext。而“HTML智能分析”卻能很好的解決。而在HTML中,在無PRE這種特殊情況時(shí),回車都是忽略不記的。根據(jù)用戶設(shè)置的版式,將分析和編輯的結(jié)果,自動(dòng)生成新的網(wǎng)頁。 HTML詞法分析的應(yīng)用 應(yīng)用舉例:HTML詞法分析程序通常應(yīng)用于瀏覽器設(shè)計(jì)、網(wǎng)頁制作軟件設(shè)計(jì)等領(lǐng)域,本人以一個(gè)使用VC開發(fā)的軟件“HTML智能分析”來舉例說明,下載網(wǎng)址:。采用分段進(jìn)行詞法分析,實(shí)際每次分析的代碼會(huì)不足1024字節(jié),余下的部份匯入到下一段的分析過程即可,直到所有內(nèi)容被分析完畢。對(duì)此的改進(jìn)辦法就是分段進(jìn)行詞法分析,不僅極大的提高了效率(在某些情況下約提高30倍),也有利于瀏覽器整體設(shè)計(jì),因?yàn)楫?dāng)網(wǎng)頁較大時(shí),若等待全部內(nèi)容傳輸完畢,再一次性完成詞法分析和布局,用戶會(huì)感到等待時(shí)間過長,一般現(xiàn)在成熟的瀏覽器都采用邊傳輸,邊分析,邊顯示。處理完畢,指針指向下一個(gè)元素首。 算法 基本算法:首先介紹基本的算法:(1) 從存儲(chǔ)網(wǎng)頁的字符串中,順序讀入一個(gè)字符(2) 如果遇到 ,認(rèn)為遇到TAG(元素),處理該元素,使用函數(shù)Token_ConsumTag(),處理完畢后,指針移到該元素尾。 //是否是結(jié)束元素,如/bodyBitTokenAttrList *attrList。以下是元素節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu):typedef struct BitToken{int type。typedef struct TokenList{ BitToken *token。 //元素名稱表,指向靜態(tài)數(shù)據(jù)}BitTokenContext,*BitPTokenContext。int global_curPosition。 //當(dāng)前正在處理的HTML代碼int bufferLength。 主體的數(shù)據(jù)流分析:逐字符的進(jìn)行判斷,確定數(shù)據(jù)的歸屬類型。下面將介紹一個(gè)HTML詞法分析器——Bit Token的設(shè)計(jì)思路。需要考慮的功能:(1) JavaScript支持(2) 漢字支持(3) 圖片格式支持(4) 表單支持(5) 頁面元素的消息響應(yīng) 人員分工由于情況的變動(dòng),造成了人員比較緊張,在前期準(zhǔn)備工作中,人力充沛,使得收集的資料比較完備,打下了較好的基礎(chǔ)。需要實(shí)現(xiàn)的包括:(1) 界面:包括窗口,菜單,輸入框,工具條,滾動(dòng)條等的支持??紤]到GUI是可以成為獨(dú)立模塊的,如瀏覽器ZEN的設(shè)計(jì),我們決定使用GTK,待時(shí)機(jī)成熟可換用其它平臺(tái),也并非難事。是瀏覽器開發(fā)前期準(zhǔn)備工作所解決的問題。我們也可以看到,要設(shè)計(jì)效果較好的瀏覽器產(chǎn)品,決不是三五個(gè)人、兩三條槍就能辦到的,參與工作的人員不僅需要有相關(guān)經(jīng)驗(yàn),還需要有一定的投入,一方面對(duì)程序員艱苦的工作給予鼓勵(lì),另一方面也可能需要購買一些成熟的開發(fā)包,在基礎(chǔ)的開發(fā)平臺(tái)、測(cè)試平臺(tái)上也要有一定的投資,總的來說,開發(fā)自主技術(shù)的瀏覽器產(chǎn)品是有一定的風(fēng)險(xiǎn)的,這也是國內(nèi)目前相關(guān)產(chǎn)品為數(shù)不多的原因。這其中的機(jī)制將在后面專門介紹。第二在于主瀏覽窗體中的圖形元素的輸出(通常以自畫控件的方式)。布局算法的好壞直接關(guān)系到界面的輸出效果,但布局算法也是要根據(jù)GUI所能實(shí)現(xiàn)的輸出效果來設(shè)計(jì)的,所以,GUI往往成為系統(tǒng)的瓶頸,如果GUI提供的支持有限,即使有再好的布局算法,也是紙上談兵,無用武之地。HTML詞法分析是瀏覽器設(shè)計(jì)的基礎(chǔ)環(huán)節(jié)之一,也是整個(gè)設(shè)計(jì)過程中重要的前端工作,其數(shù)據(jù)結(jié)構(gòu)的擬定與接下來的語法分析和布局算法密切相關(guān),詞法分析的效率與準(zhǔn)確性、容錯(cuò)性也關(guān)系到整個(gè)瀏覽器設(shè)計(jì)的質(zhì)量。以上主要介紹了開放源碼的嵌入式瀏覽器,因?yàn)槠鋵?duì)本項(xiàng)目具有實(shí)際的參考價(jià)值。因?yàn)槭褂肍LTK,所以可以在嵌入式的Micro Window平臺(tái)運(yùn)行,該瀏覽器支持簡單的表格,界面還沒有做(只有一個(gè)主窗口),不支持中文,由于FLTK的BUG比較多,我們?cè)趯?shí)際編譯時(shí)經(jīng)常出錯(cuò),即使編譯通過,也常常是還沒運(yùn)行就core dump了,但曾經(jīng)由某人編譯成功,基本可用,網(wǎng)址是:。網(wǎng)址是:。(3) Gzilla,現(xiàn)名Dillo,是基于Linux,使用GTK作為GUI平臺(tái)開發(fā)的瀏覽器,其開發(fā)目的也包含嵌入式的應(yīng)用??梢允褂眉^鍵來選擇網(wǎng)址進(jìn)行跳轉(zhuǎn)。(2) Access Netfront,Access是日本的瀏覽器大廠,占據(jù)了大部份的日本瀏覽器市場(chǎng),其產(chǎn)品廣泛應(yīng)用于手持設(shè)備、機(jī)頂盒、游戲機(jī)等產(chǎn)品。另外,桌面型瀏覽器通常是基于通用的操作系統(tǒng),用于桌面電腦如PC機(jī)、MAC機(jī)等。這些桌面型瀏覽器功能參差不齊,但大多能實(shí)現(xiàn)基本的瀏覽功能。本文闡述了嵌入式瀏覽器開發(fā)的關(guān)鍵技術(shù),并詳細(xì)說明Netbit Browser的實(shí)際開發(fā)過程,技術(shù)細(xì)節(jié)。在掌上電腦、PDA、手機(jī)、導(dǎo)航設(shè)備、信息家電領(lǐng)域嵌入式系統(tǒng)被廣泛采用,這也是近期產(chǎn)品研發(fā)的熱點(diǎn)。嵌入式系統(tǒng)因其體積小,速度快而受到重視。迫切需要更多的人來關(guān)注嵌入式瀏覽器技術(shù),開發(fā)中國自主知識(shí)產(chǎn)權(quán)的瀏覽器產(chǎn)品。其中IE,Opera已有嵌入式版本,以上的大多數(shù)瀏覽器均有跨多平臺(tái)的版本。這也是桌面瀏覽器和嵌入式瀏覽器最大的區(qū)別。(1) Internet Explorer for WinCE,是IE的Windows CE版,這也意味著用戶為了使用它,必須選用基于WinCE平臺(tái)的產(chǎn)品,隨著微軟勢(shì)力在掌上終端領(lǐng)域的蔓延,WinCE版的IE必將大行其道。而且支持鍵盤操作。Netfront ,如再加以簡化(比如去掉一些圖片按鈕)可以做的更小。該瀏覽器的缺點(diǎn)是不支持表格,布局過于簡單,不支持中文,瀏覽效果比較差,優(yōu)點(diǎn)是網(wǎng)絡(luò)功能完善,支持cache緩沖,能夠支持多種圖片格式。使用C++面向?qū)ο蟮脑O(shè)計(jì)。網(wǎng)址是:。 詞法分析主要是針對(duì)HTML進(jìn)行詞法分析,該詞法分析器實(shí)際是通用的,還可用于XML、WML的詞法分析,只需替換元素名稱即可。本文中的布局應(yīng)理解為界面輸出前的預(yù)演和處理位置等信息的算法,而不是具體的畫圖和界面輸出。GUI的功勞第一在于軟件的操作界面,如窗口、菜單、工具條、滾動(dòng)條等。這實(shí)際上是程序員努力的結(jié)果,而不是JavaScript編譯器的功勞。GUI平臺(tái)不確定,布局工作也無法展開。以下的工作均是建立在大量的調(diào)查基礎(chǔ)上的。目前常見的基于Linux的GUI開發(fā)包主要有GTK、FLTK、QT、KDE等,其中FLTK有Micro Window的版本,是比較好的選擇,但使用FLTK開發(fā)的軟件還比較少,對(duì)于初學(xué)者進(jìn)入的難度更大,而且目前BUG較多,而GTK比較成熟,使用GTK的軟件比比皆是,資料也很豐富,我們的參考對(duì)象Gzilla也使用GTK,也就是說如果使用GTK,將有很好的原型進(jìn)行參考,這使得GTK對(duì)于目前毫無GUI開發(fā)經(jīng)驗(yàn)的瀏覽器開發(fā)組而言,充滿了巨大的誘惑。 確定要實(shí)現(xiàn)的基本功能鑒于對(duì)瀏覽器開發(fā)難度的充分考慮,以及現(xiàn)有人員的水平,擬定實(shí)現(xiàn)以下功能,以及需要考慮但暫不予實(shí)現(xiàn)的功能。(4) 支持基本IO,支持采用線程的網(wǎng)絡(luò)傳輸。 第二章 HTML詞法分析器的設(shè)計(jì)及其應(yīng)用HTML詞法分析是瀏覽器設(shè)計(jì)的基礎(chǔ)環(huán)節(jié)之一,也是整個(gè)設(shè)計(jì)過程中重要的前端工作,其數(shù)據(jù)結(jié)構(gòu)的擬定與接下來的語法分析和布局算法密切相關(guān),詞法分析的效率與準(zhǔn)確性、容錯(cuò)性也關(guān)系到整個(gè)瀏覽器設(shè)計(jì)的質(zhì)量。主要由以下幾個(gè)部分組成: 初始化:完成對(duì)數(shù)據(jù)結(jié)構(gòu)的初始化,主要是分配內(nèi)存,變量賦初值。 數(shù)據(jù)結(jié)構(gòu)typedef struct BitTokenContext{char * strBuffer。 //全局HTML代碼int global_bufferLength。BitPTagList pTagList。下面給出該鏈表的數(shù)據(jù)結(jié)構(gòu),是很簡單的雙向鏈表。}BitTokenList,*BitPTokenList。 //如果是HTML_TXT型元素,則為其內(nèi)容,否則為空BOOL end。請(qǐng)注意,以上出現(xiàn)tail標(biāo)記的指針變量,如BitTokenList * tokenList_tail等,其作用是用于保存鏈表結(jié)尾節(jié)點(diǎn)指針,便于在釋放內(nèi)存時(shí),直接找到鏈尾,提高了算法的效率。 (5) 如果非以上情況,則認(rèn)為遇到文字,處理這段文字,使用函數(shù)Token_Consum_Pla
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1