本书针对使用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中添加一项功能,就重新将系统编译一下。
RAW格式数码照片处理完全解析-(附光盘) 本书特色 raw格式是目前所有数码摄影人士都非常喜爱的影像格式,但由于raw格式图片在转换过程中步骤繁多,让许多影友...
葛列众,男,1956年出生,工学博士,浙江理工大学教授,博士生导师,心理研究所所长。现任中国心理学会工业心理学专业委员会副主
《Python入门经典:以解决计算问题为导向的Python编程实践》是一本系统而科学的Python入门教程,美国密歇根州立大学等多所美国知名
我们为什么不谈北欧设计,仅谈丹麦设计?因为从历史上看,不但北欧四国属于以丹麦为中心的北欧大帝国,就连整个英格兰,苏格兰的
《ASP.NETAJAX程序设计》(第1卷)系统介绍ASP.NETAjax程序设计知识,共3卷。本卷从最易于理解和使用的那部分入手,介绍ASP.NETAJA
《金元文选》内容简介:金代、元代散文存在宗唐、宗宋以及超越唐宋、直追秦汉的艺术追求,虽然成就不如唐宋散文,也出现了姚燧、元
ADAMS入门详解与实例-第2版-(含光盘) 本书特色 李增刚编著的《adams入门详解与实例(附光盘第 2版)》以adams 2013版为基础,主要介绍如何在...
《Altium Designer PCB设计官方指南:基础应用》内容简介:本书是一部系统论述Altium Designer 20 PCB基础设计的实战教程(含实...
CSS是一种强大而优美的工具,它的潜力远远超过我们的想象。本书中世界级CSS大师EricMeyer讲述了自己极富价值的CSS项目经验,运用
汇编语言-(第2版) 内容简介 汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构...
《生成式人工智能》内容简介:ChatGPT一经问世,在全球范围内引起巨大轰动,GPT-4接入未来办公软件更是让人震惊,而且技术正在以前
《儿童身体训练动作手册:弹力带训练》内容简介:“儿童身体训练动作指导丛书”共7册,是中国青少年体能训练师认证参考教材,并得到
《中国历史常识》内容简介:吴晗于1963年至1965年间组织了一批专家学者,如知名历史学家汪篯、白寿彝、邓广铭、郑天挺、翁独健、胡
黑客大曝光网络安全机密与解决方案 本书特色 (1)本书是在前6版的基础上(前期产品累计销售超20万册)对内容进行全面更新和扩充,相信本书(第7版)一定能够延续前...
《C语言从入门到精通(第4版)》内容简介:本书以零基础入门为宗旨,用范例引导读者学习,深入浅出地介绍了C语言的相关知识和实战技
在不同文化中,地球内部都是地下世界、死之国度及地狱的象征。黑暗的地球内部会令人心生恐惧,并且很容易联想到死亡。尽管如此,
ThisbookconstitutestherefereedproceedingsoftheSecondInternationalWorkshoponHuman...
OWASP是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究,在业界具有一流的影响力和**性。作为OWASP面向中国的区
程序员你伤不起 本书特色 你要有过硬的技术,让客户相信你,觉得这个事情你是专家,让你来做没错,你要时刻让自己的技术超出平常人的水平。我曾经也泄气过,但是我经常能...
探索性数据分析:基于JMP软件 本书特色 统计学是一门涉及面广且在不断发展的学科,jmp作为一个分析软件也是如此。但是一本书所能包含的内容是有限的,且不可能面面...