-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
精嵌入式Linux編程 版權信息
- ISBN:9787512400665
- 條形碼:9787512400665 ; 978-7-5124-0066-5
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
精嵌入式Linux編程 本書特色
《精通嵌入式Linux編程:構建自己的GUI環境》是由北京航空航天大學出版社出版的。
精嵌入式Linux編程 內容簡介
本書針對使用linux構建嵌入式系統的一個關鍵環節——圖形用戶界面(gui),首先講述了linux編程的高級技巧,包括多進程、多線程等技術;然后通過實例重點講述了窗口系統的基本知識與實現技巧,為讀者開發自己的面向嵌入式linux的gui環境提供了一個參考實現范例。重點包括:lgui多窗口的設計與實現、lgui的消息管理、窗口與無效區的管理、設備上下文與圖形設備接口的設計與實現等。
本書適用于使用linux構建嵌入式系統的軟件工程師以及希望深入了解窗口系統實現原理的讀者。
精嵌入式Linux編程 目錄
1.1 嵌入式系統的基本概念
1.2 嵌入式系統的特征
1.3 選擇linux構建嵌入式系統
1.4 gui在嵌入式linux系統中的地位及要求
1.5 用戶界面概況
1.5.1 用戶界面的歷史
1.5.2 圖形用戶界面的特征
1.5.3 圖形用戶界面系統的結構模型
1.5.4 用戶界面的發展:gui+新人機交互技術
1.6 linux圖形環境及桌面平臺簡介
1.7 各種嵌入式 linux上的圖形庫與gui系統介紹
1.7.1 qt/embedded
1.7.2 microwindows/nanox
1.7.3 minigui
1.7.4 opengui
1.7.5 gtk+
1.8 linux系統中的多語言問題
1.9 一個嵌入式linuxgui系統開發的實例
1.9.1 開發gui系統主要考慮的問題
1.9.2 后續講解的實例
第2章 linux基本編程知識
2.1 編譯器的使用
2.2 函數庫的使用
2.3 makefile
2.4 gdb
2.5 建立交叉編譯環境
2.5.1 什么是交叉編譯環境
2.5.2 交叉編譯的基本概念
2.5.3 建立arm_linux交叉編譯環境
2.6 linux下常見的圖形庫編程簡介
2.6.1 qt
2.6.2 gtk+
第3章 linux高級程序設計簡介
3.1 linux ipc介紹
3.1.1 信號
3.1.2 管道
3.1.3 消息隊列
3.1.4 信號量
3.1.5 共享內存
3.1.6 domain socket
3.2 linux多線程編程介紹
3.2.1 創建線程
3.2.2 線程的退出與取消
3.2.3 線程退出時的同步問題
3.2.4 線程清理函數
3.2.5 線程取消狀態
3.2.6 線程同步
3.2.7 第三方函數庫
3.3 framebuffer編程簡介
第4章 基本體系結構
4.1 基礎知識
4.1.1 嵌入式linux的gui到底有什么用
4.1.2 如何定義基本體系結構
4.1.3 為什么用客戶機/服務器結構
4.1.4 為什么要多進程
4.1.5 為什么要多線程
4.2 體系結構綜述
4.2.1 客戶機與服務器之間的通信通道
4.2.2 客戶機需要與服務器交換什么信息
4.2.3 服務器對客戶機進程的管理
4.3 進程創建與進程的管理
第5章 多窗口的設計與實現
第6章 gui中的消息管理
第7章 窗口輸出及無效區的管理
第8章 dc與gdi的設計與實現
第9章 控件實現
第10章 定制gui對圖像的支持
第11章 字庫及輸入法的實現
第12章 gui的移植
第13章 lgui應用開發模式
第14章 gui系統的效率問題
后記——lgui開發的一些體會
參考文獻
精嵌入式Linux編程 節選
《精通嵌入式Linux編程:構建自己的GUI環境》針對使用Linux構建嵌入式系統的一個關鍵環節——圖形用戶界面(GUI),首先講述了Linux編程的高級技巧,包括多進程、多線程等技術;然后通過實例重點講述了窗口系統的基本知識與實現技巧,為讀者開發自己的面向嵌入式Linux的GUI環境提供了一個參考實現范例。重點包括:LGUI多窗口的設計與實現、LGUI的消息管理、窗口與無效區的管理、設備上下文與圖形設備接口的設計與實現等。
精嵌入式Linux編程 相關資料
插圖:這時候就需要一個“技術部經理”出來說話,他來協調每個人發言的時間,以便每個人表達的信息都能為別人所了解。那么這個協調與被協調的關系算不算是一個客戶機/服務器結構呢?一般意義上講應該說不算,因為所謂客戶機/服務器結構應該是:客戶機發出請求,服務器進行處理,并將處理的結果返回到客戶機。技術部開會的時候并不是每個工程師發請求到技術部經理,由技術部經理完成處理后返回信息到工程師。在這個系統中,技術部經理只是一個協調者的角色,而不是服務者的角色,所以并不是通常意義上講的客戶機/服務器結構。但是另一方面,客戶端有胖瘦之分,客戶端要求服務器端處理的事情可能很復雜,也可能很簡單。在很復雜的情況下,客戶端很少自己做事情,大部分事情都由服務器端完成;相反,客戶端可能要求服務器做很少的事情,大部分事情由自己完成。無論何種情況,它們之間有一個請求與被請求的關系、協調與被協調的關系。所以,在這里不必過多討論這是不是嚴格意義上的客戶機/服務器結構,姑且認為協調者的角色就是服務器,被協調者的角色就是客戶機。在多個進程同時運行的情況下,任何一個進程在對屏幕進行輸出的時候,都需要了解當前屏幕上的哪些區域是町以輸出的,哪些區域是不可以輸出的。具體實現的時候,有兩種方法:一是所有的輸出都由一個服務進程來完成,由這個服務進程來確定當前對于哪些屏幕區域的輸出請求是允許的,哪些是不允許的,這樣就避免了多個進程對于屏幕區域的競爭;另一種方法就是其他進程只從服務進程那里請求并得到允許輸出的區域,而具體的輸出操作由自己完成。前一種方法面臨的問題是需要在進程之間不停地傳遞大量數據。不同進程之間除非通過IPc,否則因為不同的進程空問不允許互相訪問數據,大塊的數據需要在進程之間傳遞,這是非常耗費資源的操作,這在嵌入式環境中更是不可取的。而后一種方法需要輸出的進程只請求允許輸出的屏幕區域,輸出的操作由進程自己完成,相對而言.效率會有很大提高。而LGUI就是采取了這種方式。4.1.4 為什么要多進程從GUI的角度講,多進程實際上是多個進程對于屏幕的輸出管理。如果有很多進程在同時運行,但并沒有屏幕輸出的要求,就談不上多進程的管理。LGUI是一個支持多進程、多線程的客戶機/服務器系統。為什么要多進程?單個進程不是更簡單嗎?當然,并不是所有的嵌入式環境都要求多個進程同時運行,或者同時要求進行屏幕輸出。例如,一個機頂盒的GUI系統,就不會這樣復雜。但在一些復雜的嵌入式環境中,多進程是必需的,例如PDA等。不能要求用戶在PDA中添加一項功能,就重新將系統編譯一下。
- >
經典常談
- >
伊索寓言-世界文學名著典藏-全譯本
- >
有舍有得是人生
- >
姑媽的寶刀
- >
我從未如此眷戀人間
- >
羅曼·羅蘭讀書隨筆-精裝
- >
伯納黛特,你要去哪(2021新版)
- >
二體千字文