本书针对使用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中添加一项功能,就重新将系统编译一下。
《网络营销实战》内容简介:本书对现有的主要网络营销策略进行了全面梳理,详细解析其使用方法,并对各种营销手法的成败得失及具有
《微积分的人生哲学》内容简介:这是国际知名数学家、《微积分的力量》作者史蒂夫·斯托加茨献给高中数学老师的深情力作。对他们师
《大清内务府》内容简介:一本书读懂真正影响帝王行为的那些人那些事 这里是宫廷服务机构,却又是帝王心腹机关。这里的人,远理朝政
《PPT炼成记》一书主要讲解的内容包括:了解真正的PPT是怎样的,懂得PPT的基本理念和操作规则,文字设计和编排,如何利用图片来突
《Spring Cloud微服务:入门、实战与进阶》内容简介:本书主打的是与微服务相关的实战体系。第一部分是准备篇,可以帮助各位读者了
《Android编程权威指南》内容简介:Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书主要以训练营的5天教学课程为基础,
《React Cookbook中文版:87个案例带你精通React框架》内容简介:React可以帮助你便捷地创建和处理应用程序,但要掌握如何将各部分
Printedentirelyincolor,withhelpfulfiguresandsyntaxcoloringtomakecodesamplesappea...
《笑着活下去》内容简介:《笑着活下去》是一本文辞犀利、个性鲜明的作品集。本书集结了27个小故事,你或许能看到自己的影子,或者
微型计算机系统原理及应用[第5版] 内容简介 本书是《微型计算机系统原理及应用》的第五版。本版本根据微处理器的*新发展,从80x86系列微处理器整体着眼,落实到...
《新妈妈科学坐月子》内容简介:本书全面介绍新妈妈坐月子之基本常识、饮食调养、护理要点、疾病防范、产后运动、生活起居及新生宝
《一人饮》内容简介:《一人饮》全面记录了当代知名陶艺家董全斌做陶、饮茶和思考的日常,高清呈现其百余幅代表作品,由李宗盛、杨
本书系统地阐述了网络的基本概念,并指导你如何用C语言实现。同时描述了Linux网络的全貌,解释了Linux代码是如何工作的,主要网络
《2020—2021年中国网络可信身份服务发展蓝皮书(精装版)》内容简介:在国家政策支持下,2020年我国网络可信身份服务业发展迅猛,
忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺
本书详细阐明了碳纤维的生成机理、生产工艺及生产设备,对碳纤维的结构与性能进行了深层次的论述,并对碳纤维复合材料的性能、制
《童年不缺爱》内容简介:安全感决定孩子一生的幸福 有了安全感,孩子才能放心地探索世界 随着现代社会对育儿知识、心理健康的关注
《生成式人工智能》内容简介:ChatGPT一经问世,在全球范围内引起巨大轰动,GPT-4接入未来办公软件更是让人震惊,而且技术正在以前
《电子工程师必备:关键技能速成宝典》内容简介:本书以培养实际动手操作技能为出发点,从基础知识讲起,系统地介绍了电子工程师必
《周作人散文》内容简介:《中华散文珍藏版:周作人散文》是“中华散文珍藏版”系列丛书之一种,精选了周作人经典散文90篇,如:《