ACE初学者使用指南

来源:互联网 发布:js判断汉字长度 编辑:程序博客网 时间:2024/06/05 20:07
   作者modern
1.学习ACE要看书,初学者学习ACE没有什么捷径,如果有的话,那么就是看书了。
   目前国内中翻本的ACE专门书籍一共有5本,个别书籍在书店不太好买到,在当当淘宝都可以取得。
   不过还是推荐日后有能力的话,阅读原版,原版的电子书基本上都可以从官方网站上获得。
    http://www.cs.wustl.edu/~schmidt/ACE-documentation.html
a)CppNetwork Programming Volume I,Mastering Complexity With ACE and Patterns
  C++网络编程卷1(C++NPV1)
  注:ACE的基础入门书籍,主要讲解ACE提供的对各平台系统底层系统接口的包装(wrapper facade)。
  如socket,进程,线程,同步机制等。
b)CppNetwork Programming Volume II, Systematic Reuse with ACE and Frameworks
   C++网络编程卷2(C++NPV2)
   注:初步了解ACE之后,如果ACE确实你需要的,这本书绝对值得通读3遍5遍以上。
   这本书详细讲解ACE提供的主要框架(Framework)的运作原理,实在是ACE程序员居家旅行的必备良品。
c)ACE Programmer's Guide, The Practical Design Patterns for Network and Systems Programming
  ACE程序员指南(APG)
  注:这本书更偏重于ACE的使用,展示了如何运用ACE快速完成自己的需求。
  强烈建议在了解C++NPV1,2的基础上阅读。
  大致了解以上三本书之后,基本上再遇到问题的时候,就不会感到手足无措了。
d)ACE自适配通信环境中文技术文档(马维达)
  本书分三卷,上卷与中卷主要讲基础知识,与前三本书有相辅相成的作用,
  下卷主要介绍ACE开发组开发的,基于ACE的几个高级应用,包括Gateway,JAWS,TAO。
  注:这并不是取自一本书,感谢译者把取自
http://www.cs.wustl.edu/~schmidt/ACE-papers.html
  ACE多篇技术文档整理并翻译出来,不过由于某种原因,作者仅把译文的电子版发布到网络上,

  并没有出版中文实体书。
e)Pattern-Oriented Software Architecture Volume II: Patterns for Concurrent and Networked Objects
  面向模式的软件架构卷2
  注:这本书主要讲解C++NPv2提供的各种framework的设计缘由,如果说C++NPV2告诉我们各种framework是什么
  和如何使用,那么从这本书我们将知道为什么是这样设计,这本书适合对ACE有相当的了解程度之后阅读。
2.如果你手里还没有ACE的源代码,可以从
http://download.dre.vanderbilt.edu/获得最新版的源代码。
  ACE是开源项目,不过使用ACE不需要任何linsence并且不受任何类似GPL的限制。
  你可以在学习、工作、甚至商业项目中任意使用ACE,只要包含其版权声明就可以了,
  无需承担任何其他的义务。

3.在解压源代码之后,假设你的ACE_wrappers所在目录为$ACE_ROOT,ACE_ROOT/ace是源代码目录。
  根据自己平台的特性在$ACE_ROOT/ace目录下配置好config.h,就可以开始你的ACE旅程了。
  windows下,只需配置configh就可以了,linux下参考下面的文档。
  
http://www.acejoy.com/bbs/viewthread.php?tid=847&extra=page%3D1
  各平台的具体细节,这里不再重复,需要说明的是config.h的各平台的配置开关,
  可以参考$ACE_ROOT/ace/Readme。
  
4.打开$ACE_ROOT/examples,这里存放着ACE开发组提供的非常实用的例子,首先你会看到
  APG,C++NPV1,2等子目录,眼熟吧,在这些目录下存放了前三本书里提到的所有的示例程序。
  你不用再敲一遍了代码了,学习的时候,拿过来直接用就可以了。
  其他的例子,随着对ACE的慢慢熟悉,根据自己的需求会逐渐的用到。
  $ACE_ROOT/app目录下,包含前面第四本书提到的Gateway与JAWS的应用源代码。
  JAWS是ACE开发组提供的基于ACE的高性能的webservice框架。
  Gateway是ACE开发组提供的基于ACE的应用级网关。
  $ACE_ROOT/TAO目录下,包含了TAO的源代码。
  THE ACE ORB(TAO)是ACE开发组提供的基于ACE的CORBA的实现。


5.随着对ACE的认识的逐渐深入,可能逐渐遇到很多细节的问题,推荐在开始阅读源代码之前,
  还是先回来翻翻书,特别是C++NPV2,很多时候费了好多时间与精力,在阅读源代码之后,
  解决了一个问题,偶尔回头翻开书,原来书上已经说得很清楚了,只是以前看的时候,
  没有注意到而已。当然如果有精力的话,阅读ACE的源代码还是大滋大补的,
  尤其平台之间存在诸多细微的细节差异,这些都源于操作系统底层的API的实现。
  对于系统底层API的特性理解是,随着对ACE掌握能力的提高的必经之路。

6.本站(ACEJOY)提供了站内搜索功能,对于很多初学者来说,很多问题基本上都共性,
  学习ACE遇到问题,搜一下说不定别人已经遇到过了,而且有了解决方案。
  说实话本人经常使用站内搜索功能,一些具体的ACE的使用问题,有时候比直接google来得快。

最后,希望的我这篇文章对你了解与学习ACE会有帮助,欢迎使用www.acejoy.com/bbs。

转自http://www.acejoy.com/thread-1260-1-1.html

原创粉丝点击