本书针对使用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中添加一项功能,就重新将系统编译一下。
智能材料是一种能感知外部刺激,能够判断并适当处理且本身可执行的新型功能材料。智能材料与智能结构有着巨大的潜在的应用前景,
SQL Server 从入门到精通(配光盘)(软件开发视频大讲堂) 本书特色 明日科技编著的《SQL Server从入门到精通(附光盘SQL Server200...
《当代中国高等教育》内容简介:教育规划纲要颁布实施以来,高等教育改革的进程如火如荼。那么在改革的过程中我们遇到了哪些矛盾和
《Go语言学习指南:惯例模式与编程实践》内容简介:本书Go语言正在迅速成为构建Web服务的优选语言。本书很好地阐述了Go语言的特性,
日本の出版史に独自の位置づけで歴史を刻む出版社である工作舎の設立時から構想があったというのが、この『全宇宙誌』である。「
《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻
本项目是首部对人类深空探测活动进行系统、完整、科学的描述与分析的著作,融研究性、资料性、工具性于一体,对航天科技工作者有
Ifanything,thisvolumespremise--thatthebusinessofWebdesignisoneofconstantchange-h...
日历盒子是MONO日签的纸质版本,模拟了作为APP的MONO拥有的经典下拉流的交互阅读模式。365天的日签逐格被仪式化地装入黑色的匣体
计算机密码应用基础 内容简介 本书是在四川大学密码学公共选修课所用的讲义基础上编写而形成的。内容涉及密码学中几大“核心”领域,包括分组密码、香农理论、序列密码、...
《中国化马克思主义整体性研究》内容简介:本书旨在通过对中国化马克思主义的整体性分析,客观、全面、深入回答如何建构中国化马克
《平面设计视觉词典》旨在对平面设计中容易混淆的一些专业词汇予以区别和解释,比如斜线和斜体的区别,重印、套印、翻转的区别等
《天文学简史(中文版)》内容简介:史前的农夫利用天上的星辰判断季节的更替;古希腊天文学与古巴比伦天文学合流;17世纪,牛顿提
《操作系统概念》(第6版翻译版)是讨论了操作系统中的基本概念和算法,并对大量实例(如Linux系统)进行了研究。全书内容共分七部分
《科学新领域的探索》:美国新墨西哥州洛基山脚下的圣菲研究所离洛斯阿拉莫斯国家实验室(LANL)不远,以研究复杂系统而著称。在
《第N+1个》内容简介:12名受害人,凶手作案手法相同,犯罪现场相似,绵延一年,警方却毫无头绪。一部名为《第N 1个》的小说在风口
《坚定信心,共创吉林通信的美好未来》内容简介:本书分为上、下两篇:上篇为《管理篇》,均为结合当时重点管理工作研究方向所著,
本书的编写基于Malmö大学实体原型(PhysicalPrototyping)实验室的教学内容。PhysicalPrototyping实验室是最早建立Ardui...
《智能的本质》内容简介:机器人的智慧能超越人类吗?人工智能的奇点究竟何时会到来?人类会借助人工智能实现永生吗?对于这些问题
《设计与分析》一书内容共分6章,各章分别与以下这些设计因素有关:组织布局、实用功能、建筑结构、类型研究、背景环境及分析技巧