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

正文內(nèi)容

嵌入式瀏覽器開發(fā)—免費-閱讀頁

2024-12-27 09:18本頁面
  

【正文】 t x, int y) { if (x == y) { ... } else { ... } return 0。對變量名,不贊成使用大小寫混寫的形式,但鼓勵使用描述性的名稱;盡可能不使用全局變量;不采用匈牙利命名法表示變量的類型;采用短小精悍的名稱表示局部變量;保持函數(shù) 短小,從而避免使用過多的局部變量。不應(yīng)過分強調(diào)注釋的作用,應(yīng)盡量采用好的編碼風格而不是添加過多的注釋。 GCC 是 GNU 的 C 和 C++ 編譯器。利用 gcc 命令可同時編譯并連接 C 和 C++ 源程序。一般來說, C 編譯器通過源文件的后綴名來判斷是 C 程序還是 C++ 程序。 但是, gcc 命令只能編譯 C++ 源文件,而不能自動和 C++ 程序使用的庫連接。 例如可以如下調(diào)用 g++ 命令編譯、連接并生成可執(zhí)行文件: $ g++ o hello $ ./hello (2) gcc/egcs 的主要選項 ansi 只支持 ANSI 標準的 C 語法。 DMACRO 以字符串“ 1”定義 MACRO 宏。 E 只運行 C 預編譯器。 GNU 調(diào)試器可利用該信息。 LDIRECTORY 指定額外的函數(shù)庫搜索路徑 DIRECTORY。 m486 針對 486 進行代碼優(yōu)化。用在生成可執(zhí)行文件時。 O 或 O1 優(yōu)化生成代碼。 O3 比 O2 更進一步優(yōu)化,包括 inline 函數(shù)。通常用在建立共享庫時。 UMACRO 取消對 MACRO 宏的定義。 Wall 生成所有警告信息。在 X Window 系統(tǒng)中,有一個 gdb 的前端圖形工具,稱為 xxgdb。 在可以使用 gdb 調(diào)試程序之前,必須使用 g 選項編譯源文件。通常使用 ar 程序把一些目標文件( .o)組合在一起,成為一個單獨的庫,然后運行 ranlib,以給庫加入一些索引信息。 fPIC 選項產(chǎn)生位置獨立的代碼。 GNU make 和 makefile (1) GNU make 簡介 在大型的開發(fā)項目中,通常有幾十到上百個的源文件,如果每次均手工鍵入 gcc 命令進行編譯的話,則會非常不方便。這些工作包括:如果僅修改了某幾個源文件,則只重新編譯這幾個源文件;如果某個頭文件被修改了,則重新編譯所有包含該頭文件的源文件。 實際上, make 工具通過一個稱為 makefile 的文件來完成并自動維護編譯工作。 當修改了其中某個源文件時,如果其他源文件依賴于該文件,則也要重新編譯所有依賴該文件的源文件。在 UNIX 系統(tǒng)中,習慣使用 Makefile 作為 makfile 文件。 * 要創(chuàng)建的項目依賴于哪些文件。 例如,假設(shè)你現(xiàn)在有一個 C++ 源文件 ,該源文件包含有自定義的頭文件 ,則目標文件 明確依賴于兩個源文件: 和 。 這時,就可以利用如下的 makefile 來定義 的創(chuàng)建規(guī)則: : g++ c g 一個 makefile 文件中可定義多個目標,利用 make target 命令可指定要編譯的目標,如果不指定目標,則使用第一個目標。 (3) makefile 變量 GNU 的 make 工具除提供有建立目標的基本功能之外,還有許多便于表達依賴性關(guān)系以及建 立目標的命令的特色。如果你要以相同的編譯選項同時編譯十幾個 C 源文件,而為每個目標的編譯指定冗長的編譯選項的話,將是非常乏味的。 GNU make 通常稱之為變量,而其他 UNIX 的 make 工具稱之為宏,實際是同一個東西。 (4) 運行 make GNU make 命令還有一些其他選項: C DIR 在讀取 makefile 之前改變到指定的目錄 DIR。 h 顯示所有的 make 選項。 I DIR 當包含其他 makefile 文件時,可利用該選項指定搜索目錄。 p 顯示 make 變量數(shù)據(jù)庫和隱含規(guī)則。 w 在處理 makefile 之前和之后,顯示工作目錄。 GTK圖形程 序開發(fā) 簡 介 GTK (GIMP Toolkit) 起源於開發(fā)用來做為 GIMP (General Image Manipulation Program)的一套工具 . GTK 建立在 GDK (GIMP Drawing Kit)的上層 , 基本上是將 Xlib功能包裝起來 . 它被稱為 GIMP toolkit是因為 它 是 為了 開發(fā) GIMP 而寫的 , 但現(xiàn)在被許多免費軟體計劃所使用 。 gtk_init (amp。argv)。 gtk_widget_show (window)。 return(0)。 GTK 的層次結(jié)構(gòu) GIMP GTK+ GDK GLIB XLIB GTK 的事件與信號處理 GTK 是一個事件驅(qū)動的工具集,一個 GTK 應(yīng)用通常在 gtk_main 上休眠直到一個事件發(fā)生,這時控制被傳遞給合適的函數(shù)。 void gtk_signal_disconnect( GtkObject, gint)。 void gtk_signal_handler_unblock( GtkObject, guint)。 事件與信號不是一回事 GTK 的控件 使用一個控件的步驟 ? gtk_*_new 初始化一個控件 ? 綁定控件與信號及事件 ? 把它包裝到一個包容器中 ? 告訴 GTK 顯示這個控件( gtk_widget_show) 控件體系類似于 MFC 的類庫,子類具有父類的特 征,在使用時要使用類型強制轉(zhuǎn)換。項目的目的是要建立一個小型的、快捷的 web瀏覽器,并便于移植到嵌入式系統(tǒng)中。 Netbit Browser 在界面上主要承襲了 Gzilla 的風格,在技術(shù)上主要涉及了詞法、語法分析,文檔布局, PIXMAP 畫圖,文件 IO 操作,簡單 HTTP 訪問等技術(shù)。 (2)界面模塊:窗口、菜單、工具條、滾動條等的初始化。 (4)IO 模塊:包括 和文件操作。 (6)文本文件的顯示模塊:對 Plain text 顯示的處理,也包含相應(yīng)的布局算法。 (8)使用 PIXMAP 的畫圖模塊:是實際輸出采用的方法,被 7模塊調(diào)用。 IO 模塊 詞法分析模塊 文本文件顯示模塊 HTML 文件顯示模塊 PIXMAP 畫圖模塊 界面模塊 控制模塊 界面模塊 (1) , :用于界面的初始化和定制。界面初始化的主函數(shù) void a_Interface_status(BrowserWindow *bw, const char *format, ... )。 void a_Interface_openfile_dialog(BrowserWindow *bw)。 設(shè)置窗口標題。 打開網(wǎng)址輸入欄輸入的網(wǎng)址。 新建瀏覽窗口,是很重要的函數(shù),在其中創(chuàng)建了所有的界面控件,并對按鈕等進行了消息綁定。 定義了主菜單項,并進行了消息綁定 (3) 定義了重要的窗口結(jié)構(gòu)如下: struct _BrowserWindow { /* 主窗口的 widgets */ GtkWidget *main_window。 GtkWidget *forw_button。 GtkWidget *location。 GtkWidget *status。 /* 工具條按鈕 */ GtkWidget *back_menuitem。 GtkWidget *stop_menuitem。 /* 當前光標類型 */ GdkCursorType CursorType。 GtkWidget *open_dialog_entry。 GtkWidget *quit_dialog_window。 /* 文件類型: html or plain text*/ gint file_type。 控制模塊 (1), 主要的函數(shù)說明: void a_Commands_openfile_callback (GtkWidget *widget, gpointer client_data)。打開 URL void a_Commands_close_callback(GtkWidget * widget, gpointer client_data)。退出程序 void a_Commands_viewsource_callback (GtkWidget *widget, gpointer client_data)。刷新當前網(wǎng)頁 void a_Commands_home_callback (GtkWidget *widget, gpointer client_data)。 顯示幫助 (2), :是命令對應(yīng)的與網(wǎng)頁操作有關(guān)的具體實施 主要的函數(shù)說明: void a_Nav_push(BrowserWindow *bw, const char*)。 void a_Nav_reload(BrowserWindow *bw)。打開起始頁(內(nèi)置頁面) 詞法分析的原理和算法在前面已有詳述。 創(chuàng)建新的全局結(jié)構(gòu) int Bit_Tokenize(BitTokenContext *global_cx)。 全局詞法分析 int Bit_DestroyToken(BitTokenContext *global_cx)。重要的字符處理函數(shù),讀取到指定字符后結(jié)束 char *Token_GetAttribute(BitTokenContext *global_cx)。 轉(zhuǎn)義字串的處理 int Token_ConsumTag(BitTokenContext *global_cx)。 處理文本 void Bit_ShowTokenResult(BitTokenContext *global_cx)。 保存分析結(jié)果 (2) , 用于存儲 元素的名稱和屬性。 , 主要的函數(shù)說明: gint pixmap_new(GtkWidget *widget,int width,int height)。來新建一個 pixmap。 在 expose消息到來時,即若界面被破壞需重畫時,使用 gdk_draw_pixmap(widgetwindow,widgetstylefg_gc[GTK_WIDGET_STATE(widget)],pixmap,event,event,event,ent, event, event)。 gint pixmap_repaint(GtkWidget *widget)。 gint Browser_Paint(BrowserWindow *bw)。 文本文件的顯示模塊 , char *Plain_handle_tabs(const char *str)將 TAB 轉(zhuǎn)為空格。 指定默認字體 font=gdk_font_load(adobehelveticamediumrnormal14*****iso88591)。 while(line_sizeSCREEN_WIDTH20 amp。 Buf[i]!=39。) {str[j]=Buf[i]。 j++。 } str[j]=39。 if(Buf[i]==39。)i++。 line_size=x。 } 創(chuàng)建 PIXMAP pixmap_new(drawing_area,SCREEN_WIDTH,y)。 進行真實的畫圖。 輸出到 PIXMAP 并顯示 HTML 文件的顯示模塊 這部份是整個瀏覽器 最重要的部份之一,綜合了語法分析與 HTML 的布局、輸出,其算法的好壞直接關(guān)系到網(wǎng)頁的顯示效果。 case HTML_TEXT: ???? break。 } //switch pTtokenList=pTtokenListnext。 例如:當遇到 title 元素時,就使用 gtk 函數(shù)來設(shè)定窗口標題為指定標題 gtk_window_set_title(GTK_WINDOW(bwmain_window),pTtokenListtokenpDa
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1