本书针对使用linux构建嵌入式系统的一个关键环节——图形用户界面(gui),首先讲述了linux编程的高级技巧,包括多进程、多线程等技术;然后通过实例重点讲述了窗口系统的基本知识与实现技巧,为读者开发自己的面向嵌入式linux的gui环境提供了一个参考实现范例。重点包括:lgui多窗口的设计与实现、lgui的消息管理、窗口与无效区的管理、设备上下文与图形设备接口的设计与实现等。
本书适用于使用linux构建嵌入式系统的软件工程师以及希望深入了解窗口系统实现原理的读者。
《精通嵌入式Linux编程:构建自己的GUI环境》是由北京航空航天大学出版社出版的。
《精通嵌入式Linux编程:构建自己的GUI环境》针对使用Linux构建嵌入式系统的一个关键环节——图形用户界面(GUI),首先讲述了Linux编程的高级技巧,包括多进程、多线程等技术;然后通过实例重点讲述了窗口系统的基本知识与实现技巧,为读者开发自己的面向嵌入式Linux的GUI环境提供了一个参考实现范例。重点包括:LGUI多窗口的设计与实现、LGUI的消息管理、窗口与无效区的管理、设备上下文与图形设备接口的设计与实现等。
插图:这时候就需要一个“技术部经理”出来说话,他来协调每个人发言的时间,以便每个人表达的信息都能为别人所了解。那么这个协调与被协调的关系算不算是一个客户机/服务器结构呢?一般意义上讲应该说不算,因为所谓客户机/服务器结构应该是:客户机发出请求,服务器进行处理,并将处理的结果返回到客户机。技术部开会的时候并不是每个工程师发请求到技术部经理,由技术部经理完成处理后返回信息到工程师。在这个系统中,技术部经理只是一个协调者的角色,而不是服务者的角色,所以并不是通常意义上讲的客户机/服务器结构。但是另一方面,客户端有胖瘦之分,客户端要求服务器端处理的事情可能很复杂,也可能很简单。在很复杂的情况下,客户端很少自己做事情,大部分事情都由服务器端完成;相反,客户端可能要求服务器做很少的事情,大部分事情由自己完成。无论何种情况,它们之间有一个请求与被请求的关系、协调与被协调的关系。所以,在这里不必过多讨论这是不是严格意义上的客户机/服务器结构,姑且认为协调者的角色就是服务器,被协调者的角色就是客户机。在多个进程同时运行的情况下,任何一个进程在对屏幕进行输出的时候,都需要了解当前屏幕上的哪些区域是町以输出的,哪些区域是不可以输出的。具体实现的时候,有两种方法:一是所有的输出都由一个服务进程来完成,由这个服务进程来确定当前对于哪些屏幕区域的输出请求是允许的,哪些是不允许的,这样就避免了多个进程对于屏幕区域的竞争;另一种方法就是其他进程只从服务进程那里请求并得到允许输出的区域,而具体的输出操作由自己完成。前一种方法面临的问题是需要在进程之间不停地传递大量数据。不同进程之间除非通过IPc,否则因为不同的进程空问不允许互相访问数据,大块的数据需要在进程之间传递,这是非常耗费资源的操作,这在嵌入式环境中更是不可取的。而后一种方法需要输出的进程只请求允许输出的屏幕区域,输出的操作由进程自己完成,相对而言.效率会有很大提高。而LGUI就是采取了这种方式。4.1.4 为什么要多进程从GUI的角度讲,多进程实际上是多个进程对于屏幕的输出管理。如果有很多进程在同时运行,但并没有屏幕输出的要求,就谈不上多进程的管理。LGUI是一个支持多进程、多线程的客户机/服务器系统。为什么要多进程?单个进程不是更简单吗?当然,并不是所有的嵌入式环境都要求多个进程同时运行,或者同时要求进行屏幕输出。例如,一个机顶盒的GUI系统,就不会这样复杂。但在一些复杂的嵌入式环境中,多进程是必需的,例如PDA等。不能要求用户在PDA中添加一项功能,就重新将系统编译一下。
《微行为心理学》内容简介:知己知彼方能百战不殆,本书让你在看清他人微行为的同时了解自己的行为习惯,轻轻松松做到知人知面又知
《生物信息学中的计算机技术》以一种清晰、活泼的方式,全面介绍了生物信息学领域中最重要的一些主题。《生物信息学中的计算机技
Whenitwasfirstpublishedin1972,HubertDreyfussmanifestoontheinherentinabilityofdis...
"Writtenbythreeexpertsinthefield,DeepLearningistheonlycomprehensivebookonthesubj...
《Java从入门到精通》(软件开发视频大讲堂)从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行
《儿童情绪心理学》内容简介:在家庭教育过程中,细心的父母能够很快捕捉孩子的情绪变化,但大多时候难以理解其原因。孩子的情绪随
可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模
《为什么?》内容简介:“21世纪社会学之父”查尔斯·蒂利写就的优秀通俗读物,顶尖社会学者对日常生活的有力透视! 这是一本关于我
《R语言游戏数据分析与挖掘》内容简介:随着大数据的概念越来越流行,越来越多的企业开始重视数据,期待从数据中寻找有价值的结论,
《社会共识的形成》内容简介:社会共识是社会凝聚和稳定发展的心理基础,是实现和促进社会共识凝聚的一个重要的前提,因而深入理解
《世界阅读日推荐图书:阅读的未来》内容简介:搜索引擎一家独大、野心勃勃,电子阅读终端产品高歌猛进,阅读的未来是否意味着印刷
设计的实质是什么?在设计中,意念和多种多样的形工之间的关系究竟是怎么样?诸如此类的问题,当代设计大师靳埭强选择是如何思考
暢銷書《如何成為頂尖設計師》是一本實用的設計師指南,對任何想設計出有意義的作品,又不想放棄自己想法的設計師來說,非常有幫
计算机网络的发展正改变着整个社会,这种改变影响了人们的工作、生活和受教育的方式,甚至渗透到我们每个人的行为中。网络已成为
隈研吾KUMAKENGO1954年出生于日本神奈川县横滨市。隈研吾建筑都市设计事务所主持建筑师。1979年毕业于东京大学建筑系。曾担任哥伦
《成为学霸》内容简介:如何记笔记,才能加深记忆?如何背知识,才能又快又好?如何晚自习,才能专注高效? 看似具体的学习困境,其
Thistutorialanelementaryintroductiontoteachnon-programmershowtocustomizetheirwor...
《数字信号处理实验指导书》(MATLAB版)是《数字信号处理:基于计算机的方法》(第2版)一书的配套实验手册,内容涵盖了信号与信号
《盛开·90后新概念·花样年华书系·樱花纪》内容简介:本书系新概念作文获奖者作品精华,约32万字。本书中这些作品共分五辑,每个
《互联网金融弄潮儿——第三方支付》内容简介:本书从市场的角度,通过认真的调查与分析,以实际案例为导向,由浅入深,分板块串联