Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3426484
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: LINUX

2009-02-10 10:56:53

       在构思这本书的时候,我一直在想它应该针对哪一类读者呢,是有开发经验的程序员,还是初出茅庐的新手?我虽然反复的追问,但是我真的无法完全区分这两类读者,因为任何人的知识都是有局限性的,没有任何人能够什么都懂。所以最终我确定这本书的读者应该是那些想在计算机软件技术上深入钻研的人——用心去读书的人!是的,把这本书献给那些用心去读书的人,这也可以激励我用心去写作!
       假如您是一位初学者,您千万不要害怕,在这本书里我只假设您懂得C语言,并且用它写了至少一个100行以上的程序就足够了。我相信我所讲的内容将有助于提高您在C语言开发上的技能,使您能够尽快地跨进软件世界的大门。而且本书专门为您准备了介绍基础知识的章节,夯实您的技术基础。因为在我看来,任何事情要做好都必须有相关坚实的专业知识做为基础,没有基础的上层建筑是不牢固的。
       假如您是一位PC上的程序员,并且希望学习一些关于嵌入式平台的知识,那么这本书也是适合您的,这本书可以向您展示嵌入式系统的相关知识。从某种程度上来讲,嵌入式系统就是一个小型的PC。或者由于一个更小的系统也更加容易理解的原因,这本书也可以让您通过对BREW平台的深入理解而有助于您理解诸如Windows这样的大型平台。再进一步,如果您正在学习有关COM(Component Object Model)的知识,那么在本书中我将向您展示一个C语言版本的COM实现,它将进一步加深您对COM的理解。
       假如您是一位嵌入式系统的程序员,希望深入的了解一个平台并且获得相关的知识,那么,这本书也是适合您的。在这本书里深入的分析了嵌入式系统开发平台BREW的实现方法以及组成,通过这些分析以及相关知识(如图形系统、事件驱动机制的实现)的阐述,您将更加深刻的理解嵌入式平台的组成要素。而且通过对BREW系统架构的剖析,对您设计自己的开发平台也会提供一个很好的参考。
       假如您不但是一位程序员,而且还是一位BREW平台上的开发者,那么我不得不说,这本书是您的案头必备!在这本书里将深入的为您分析BREW的工作机制,BREW应用程序的运行原理,以及BREW接口的实现方法。与此同时,本书的示例程序中还为您提供了一个BREW应用程序的框架,使得无论您开发什么样的BREW应用程序都可以得心应手。
       如果现在为止,您还是不知道自己应不应该读这本书的话,那么我建议您先看看本书的目录,或许从那里您可以找到让您感兴趣的内容。
       全书共分三篇,每一篇均有不同的侧重点。
       第一篇是勿在浮沙筑高塔,主要是介绍了理解BREW和嵌入式系统所需要的基本知识。其中包括硬件、C语言、编译器和MakeFile等专业性较强的内容。虽然本篇的主要目的是给初学者夯实基础,但是,我相信其中所讲的内容对专业人士也会有一定的参考价值。
       第二篇是磨刀不误砍柴工,主要介绍BREW应用程序的开发过程,让我们能够从开发BREW的应用程序的过程中熟悉BREW平台。在本篇中,还推荐了一个基于BREW事件驱动机制的应用程序框架,这个框架采用了状态机的方式实现。通过这个框架,我们可以更加轻松的开发出应用程序。
       第三篇是一识庐山真面目,在这一部分里我们剖析了BREW内部的实现方式,这一部分也是本书的重点。从这一篇的内容中我们将了解到BREW是如何使用C语言实现COM机制,BREW内核的工作方式,以及BREW平台中图形系统的结构和一些高级的BREW接口的应用程序。这一篇就是深入BREW内部,分析BREW,为我们的软件系统开发提供参考。
       直到我开始写这本书的时候我才发现,如果想描述清楚一个思想是多么的困难,除了需要使用拗口的语言外,还必须要添加一些示意图。因为这些图看起来很直观,可能更容易理解(但是请注意,要结合说明来看,虽然这些说明有些很难懂,但往往本质就在这里面)。虽然我希望我能用最简单的语言来表述我的想法或描述一个原理,但考虑到描述准确性的问题,我不得不使用一些拗口的语言,这的确很矛盾,但是我只能尽力而为。
在这本书中指的嵌入式系统通常指手机系统或者叫做手持设备,因为这个系统更加具有普遍性,并且BREW平台本身也是针对手机开发的。
       由于这本书的内容是通过对比PC(Personal Computer)系统与嵌入式系统来各自展现它们的特点,因此在描述他们共性的时候我会使用计算机系统做为两者的统称。有人可能认为计算机系统应该指的是PC系统,实际上这是不准确的,因为嵌入式系统也是一种计算机系统,只不过小了那么一点。   
       在这本书中也频繁的使用了“程序”和“代码”两种称谓,它们之间没有明显的区别,只是根据上下文的不同,我可能会选择不同的称谓。
       在本书中,有时候称BREW的应用程序为Applet(小应用),有的时候又会直接称为应用程序,其实这两者都是一样,没有什么不同。之所以会有两种称呼,有的时候只是源于一种习惯——来自BREW开发文档本身的一种习惯。

勿在浮沙筑高塔

       对于现在从事软件开发很多人来说,都是直接接触的Windows操作系统,一开始学习的东西就是在Windows下的图形编程,尤其是可以快速开发的诸如VB、Delphi和C++ Builder等语言。它们的程序开发方式就像是作画一样,通过将控件放到对应的窗体上,然后设置属性,完成事件处理过程就可以生成一个像模像样的Windows程序了。虽然使用这种语言可以很容易的开发出应用程序来,但是却缺乏了对系统的深入了解,只知道怎么做,却不知道为什么这么做以及它是怎么实现的。归根结底,就是缺乏对底层实现原理的知识。正如本章的标题“勿在浮沙筑高塔”一样,缺乏根基总还是底气不足!不过别担心,在这部分里,我将讲述我们所需要的一些“根基”。当然如果您已经对这些知识有所了解,并且只想看看BREW是个什么样子,那么可以跳过这一部分,而直接进入到第二部分。
同时,在我看来,不了解硬件结构的程序员不会成为一个最优秀的程序员。因为整个软件和硬件组成了一个系统,如果我们不了解硬件知识,那么我们也不会了解整个软件的来龙去脉,也就不能从整体上把握程序的特点,要写出优秀的程序是很困难的。像VB、Delphi和C++ Builder等语言虽然也给了程序员一定的开发空间,但是缺乏基础的大厦毕竟筑不高!所以我希望每个程序员都能具备一定的硬件知识,这样才能站得高看得远。如果您觉得PC太复杂了,那么您可以研究相对简单的嵌入式系统。当然并不是所有的嵌入式系统都简单,比如手机就是一个要比PC系统更为复杂的系统,因为它其中包含了无线通信部分的内容,只不过我们现在不管这些内容而只是摘取计算机系统相关的内容而已。
这一篇的主要内容介绍如下:
第一章是硬件基础,任何软件平台都离不开硬件平台的支持,而一些设备的原理却成为了我们学习的障碍。在这一章里,我们将获得一部分硬件的基础知识,虽然它并不全面,但是我想为了阅读本书是足够了。
第二章是软件基础,在这里主要讲述了C语言的相关知识。这部分属主要是用我个人的描述方式来讲解C语言的细节,希望对我们后续的理解能够有所帮助。
第三章是编译器基础,从中我们可以了解到各种不同类型的编译器以及它们的区别。更为重要的是它介绍了编译器对程序中代码和数据的处理方式,同时使用了一个最小的ARM系统的例子,以此来展示C语言更加本质的东西。
       第四章是工程管理(Make File)基础,在这一章里将主要讲述关于Make File的知识,同时给出了一个可以用于大型系统的Make File框架。设置这一章的主要考虑是到现在除了比较专业的领域外,大多数人都已经接触不到它了,然而实际上它却很有用。 
阅读(381) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~