ACE的安装使用(不是ACE音乐格式,是网络开发包)

什么是ACE?
  ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ Wrapper Facade
(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务。据推测在新的C++Builder中,将有可能支持和采用该FrameWork。
    ACE的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,ACE
还使系统的配置和重配置得以自动化。
ACE的好处
  在ACE组件的帮助下,很容易在一种OS平台上编写并发网络应用,然后快速地将它们移植到各种其他的OS
平台上。ACE的设计使用了许多可提高软件质量的关键模式,这些质量因素包括通信软件灵活性、可扩展性、可复用性和模块性。ACE经仔细设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应用的低响应等待时间、高带宽应用的高性能,以及实时应用的可预测性。ACETAO被设计为能良好地协同工作,以提供全面的中间件解决方案,是CORBA的开发源码、遵循标准的实现
ACE的安装:
  笔者只在C++builder下功能安装,在VC下没有使用过!不过我想和CB下差不多。在CB下:
    1、将下载的ACE包解压到:c:/ace_warappers,在c:/ace_warappers/ace目录下建立一个config.h文件,在文件里加入:#include "ace/config-win32.h"
(如果在98/me下安装,要加上#define ACE_HAS_WINNT4 0)
  2、开一个Dos窗口,设置环境变量:
                      set ACE_ROOT=C:/ACE_wrappers
                      set BCBVER=6
笔者使用的的BCB 6.0,所以设置为BCBVER=6
    3、在console中进入:C:/ACE_wrappers/ace
        键入:make -f Makefile.bor 编译ACE,如果不出错的话,你就可以在CB下使用ACE了,当然,在CB下编译时可能不能找开相应的Dll,你将ACE.b.lib加入到工程时里就可以了。
  4、编译tests,不是必要的: 进入:ACE_ROOT/tests
    make -f Makefile.bor
   成功的话,你就可以:run_tests.bat bor来运行网才编译的tests了。

使用时记得在CB的option/directory里设置相应的头文件路径!然后在工程中就可以加入头文件,使用ACE的库了!你也可以先看看它息带的examples.相信它的跨平台及高性能会吸引你的!
在VC下的安装我就不多说了,ACE的解压目录里有个ACE_install.htm文件,里面有详细说明(在其它操作系统及开发平台的介绍都有,你可以参考),相信难不到你!
ACE发展已经有多年了,如些优秀的东西在国内很少有人知道,真是....



一、ACE官方主页:
http://www.cs.wustl.edu/~schmidt/ACE.html
    下载地址:http://deuce.doc.wustl.edu/Download.html
   
    我下载的是Latest Beta Kit中的ACE.zip(Latest Release中的压缩包好像有问题,我有WinRAR3.30解压缩报错)

二、解压缩后放在D盘
    D:ACE_wrappers

三、在D:ACE_wrappersace目录下新建文件config.h加入一行
    #include "ace/config-win32.h"
   
四、编译:用VC6.0打开D:ACE_wrappersaceace.dsw
    左侧显示    ACE DLL classes
               ACE LIB classes
    或1、从菜单上选择“编译”,“放置可远行配置”,选择你需要的工程配置
        “编译”,“重建全部”(或任一,如ACE DLL - Win32 MFC Debug)
        此过程可能持续半小时至一个小时不等
    或2、从菜单上选择“编译”,“批构建”,选择你需要的工程配置
        此过程可能持续二至四个钟头
       
    产生的.lib文件位于D:ACE_wrappersace下,
    产生的.dll文件位于D:ACE_wrappersin下
   
   
    同样打开ace_static.dsw
    编译
    ACEs.lib
    ACEsd.lib
    ACE_RMCasts.lib
    ACE_RMCastsd.lib
    TMCasts.lib
    TMCastsd.lib

    ACE生成的dll和lib文件的命名规则:(d = debug,s = static)

    debug - aced.lib、debug+static - acesd.lib、release - ace.lib、 release+static - aces.lib


五、样例程序的编译
    用VC打开D:ACE_wrappers ests ests.dsw
    “编译”,“批构建”
   
六、自写程序的工程配置
   
    中篇:ACE程序员教程.pdf中的样例程序:
    网址:
http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/tutorials/guide-tutorials.html
   
    将网页上的原代码复制到一新建文件,并命名为server.cpp
    用VC打开,编译,重建全部,弹出对话框,“This build command require ...“,点”是“
   
    会出现以下错误
   
    如果有“Cannot open include file: 'ace/SOCK_Acceptor.h': No such file or directory”
    工程-设置-C/C++: Preprocessor,附加包含路径:D:/ACE_wrappers
   
    如果有“ You must link against multi-threaded libraries when using ACE (check your project settings)”
    工程-设置-C/C++: Code Generation - Use run-time library : Debug Multithreaded Dll
   
    如果有“error C2065: 'ACE_ERROR' : undeclared identifier”
            error C2065: 'ACE_DEBUG' : undeclared identifier
    #include "ace/Log_Msg.h"

    error C4716: 'ace_main_i' : must return a value
        在main中加入
            return 0;
   
    “error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl”
    工程-设置-Link-Input: 对象/库模块:添加aced.lib                         附加库路径:D:ACE_wrappersace
                       
   
                       
    编译client中遇到的问题
    1、error C2039: 'sprintf' : is not a member of 'ACE_OS'
       
        #include "ace/OS_NS_stdio.h"
       
    2、error C2039: 'strlen' : is not a member of 'ACE_OS'
   
        #include "ace/OS_NS_string.h"
    3、error C2059: syntax error : '?'
        错误在这一句:  ACE_DEBUG((LM_DEBUG,?Usage egX <hostname> <port_number> ?));
        将?改为"
       
    4、无法找到动态链接库aced.dll于指定的路径
        为系统变量PATH加上D:ACE_wrappersin
       
       
       
    静态包含:
       工程-设置-C/C++-预处理程序定义中加入 ,ACE_AS_STATIC_LIBS
      
      
例1server编译后生成
    server.exe 16K  serverd.exe 97K     servers.exe 124K serversd.exe 669K
    (servers.exe较适合发布)
   
例2 client编译后生成
    client.exe 16K  clientd.exe 97K     clients.exe 124K clientsd.exe 669K
   (clients.exe较适合发布)
   
    测试 clients 127.0.0.1 1919
        servers 1919

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值