本书针对使用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中添加一项功能,就重新将系统编译一下。
《钟情一生》内容简介:本书以中国科学院成都生物研究所几代人数十年来致力于中国两栖爬行动物研究这一事迹为蓝本,围绕以费梁、叶
WiththehelpoftheInternetandaccompanyingtools,creatingandpublishingonlinemapshasb...
《无人零售:技术驱动商业变革》内容简介:本书分为上下两篇,上篇主要讲述了无人零售的三个核心问题:政策、技术、信息安全;下篇
《善数者成》内容简介:数据自古有之,它是对万事万物的精确刻画,也是对客观世界的普遍记录。伴随着信息爆炸与技术革新,大数据正
《丝路朝圣》内容简介:本系列文章以《大唐西域记》为切入点,因为这是中印文化交流中最重要的一部典籍,当年以季羡林先生为主组织
《思想的传承与决裂:以 “犹太人问题”为中心的考察》内容简介:在马克思早期思想演变中,青年黑格尔派是一个非常重要的思想背景和
《交互设计》全面介绍了交互设汁的起源、基本概念和交互系统的组成以及交互设计过程中的主要方法、原则和评估技术。全书共9章,第
《Oracle程序开发范例宝典》内容简介:本书紧密围绕编程人员在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了使用Oracle
《一天25小时》内容简介:本书首次提出了以理财的观念来理时间,这一全新的时间管理视角,书中将时间管理分为6 个步骤,各部分以介
《C++程序设计习题与实验指导》内容简介:本书是C++程序设计语言的参考书,章节和内容编排与《C++程序设计基础教程》配套,主要包括
《色彩形象坐标》囊括了130种基本色的全色彩数据库,对于色彩研究十分必要。是从事建筑设计、景观设计、室内装饰、包装设计、服饰
《中国口腔种植体概览》内容简介:书中不仅介绍了国际和我国口腔种植学的发展概况以及口腔种植的成功标准、临床应用原则、解剖学基
《用户体验草图设计工具手册(全彩)》是《用户体验草图设计》的配套阅读图书,将指导你如何一步一步地用草图来表达你的设计理念
《高盛帝国(上)》内容简介:《高盛帝国》(下)请移步:http://read.douban.com/ebook/262238/ 《高盛帝国》一书充分展现了为高盛
《世界莲花里:八大山人的“涉事”哲学》内容简介:本系列作品,通过对元代以来十六位画家的观照,来看文人画对生命“真性”追踪的
《漫长的寒冬:失落之城》内容简介:永生不再是神话,而是选择 ●《亚特兰蒂斯》作者A.G.利德尔 ●颠覆想象的史诗级科幻巨著完结篇
《中西文化风物志》内容简介:中西文化历经千年的历史和沉淀,博大精深、泾渭分明,为了顺应文化汇通的时代趋势和通识人文的习得需
《客厅设计广场(第2季):欧式客厅》内容简介:客厅是家庭聚会、休闲的重要场所,是能充分体现居室主人个性的居室空间,也是访客停
《写给大家看的色彩书2:色彩怎么选,设计怎么做》内容简介:色彩不仅仅是感性思维的展示,也可以通过理性认知来发挥它。《写给大家
《资治通鉴启示录(全二册)》内容简介:《资治通鉴》“网罗宏富,体大思精”,毛泽东生前读了十七遍,赞叹这是一部难得的好书。张