本书针对使用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中添加一项功能,就重新将系统编译一下。
Technologicaladvanceshavebenefitedourworldinimmeasurableways,butthereisanominous...
撰稿人毛丹青外号“阿毛”,中国国籍。北京大学毕业后进入中国社会科学院哲学所,1987年留日定居,做过鱼虾生意,当过商人,游历
《爱是万能的调味》内容简介:爱是世间最美的味道,爱是世间万能的调味品。爱是流淌在生命里,妈妈的味道。台湾地区著名的私房菜老
《传播网络理论》2003年由牛津大学出版社出版,并获得20113年国际传播学会组织传播分会的年度最佳著作奖《传播网络理论》不仅抓住
《西方文明东进战略与中国应对》内容简介:本书结合西方文明向东方国家扩散的历史与现实,深刻揭示与剖析西方文明东进战略,全书从
《西方绘画大师经典佳作:塞尚》内容简介:印象主义画派是19世纪最重要的艺术流派之一,其将光与色彩的科学观念引入到绘画中,对当
《卑鄙的圣人:曹操6》内容简介:一件件讲透,曹操收拾三国群雄的卑鄙、奸诈、狠毒计谋; 一页页浸透,曹操体恤天下众生的柔情、仁
ChristianSirianomadeheadlinesastheyoungestdesignertowinBravoshighlyratedrealitys...
本书是美国普渡大学资深教授DouglasE.Comer从计算机系统结构对编程影响的角度为计算机科学、技术、应用类学生精心编写的计算机系
《影响中国历史的十篇政治美文》内容简介:中华文章浩如烟海,其中有一支“政治美文”,即既有思想,文字又美的文章,其作用远在其
《简笔画5000例,一本就够(动物篇)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总是能释放
《华为增长法》内容简介:自1987年创立以来,华为保持了30年快速增长的奇迹。所有企业面临的增长困境,华为在发展的过程中也同样遇
《中国互联网商业英雄列传》内容简介:本书通过揭秘影响中国互联网历史进程的24位知名人士的成长史,生动地展现了20世纪90年代以来
《AI赋能:驱动产业变革的人工智能应用》内容简介:本书集合了在中国人工智能产业发展联盟组织的第二批“人工智能技术和应用案例评
《狂人日记(赵延年插图本)》内容简介:本书是一部鲁迅小说选集,收录鲁迅代表性小说十六篇,出自《呐喊》和《彷徨》两部小说集,
《做真正的我》内容简介:本书通过一些真实事例的验证,向大家阐述了其实每一个人都是“天生我才必有用”,不要妄自菲薄,轻看自己
《梁思成中国建筑史》内容简介:★首部中国人自己书写的本民族建筑史 ★中国现代建筑学的奠基之作 ★国徽设计者、中国现代建筑之父
《界:我奋斗的路》内容简介:本书为自传,分农村锻炼篇、香港学艺篇、回沪创业篇、回馈故乡篇四个部分,讲述了作者从上海到浙江慈
WPF是微软新一代开发技术,涵盖了桌面应用程序开发、网络应用程序开发和移动应用程序开发,是微软开发技术未来十年的主要方向。本
《破茧成蝶2——以产品为中心的设计革命》内容简介:互联网下半场来袭,从业者需要做出怎样的变化,以应对风云突变的大环境呢?本书