找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5456|回复: 1

linux环境配置Terabit

[复制链接]
发表于 2010-5-8 22:33:34 | 显示全部楼层 |阅读模式
官方网站
http://www.terabit.com.au/solutions.php

TProactor (ACE compatible Proactor) - add-on to ACE class-libraries, which allows using of ACE Proactor pattern on POSIX platforms. Major benefits:
  • one code base on MS-Windows and all flavors of UNIX (Proactor pattern);
  • in many cases add-on Proactor improves performance up to 2 times (compared with Reactor);
  • easy to add platform specific small driver to tune-up the system to get maximum possible performance;
  • one code base for SSL and non-SSL implementation of the same solution.
  • better scaling for multi-CPU machines
  • minimized number of memory allocations and pooling of asynch results
  • simplified Proactor internal design with compatible interface with old Proactors TProactor (ACE compatible Proactor) - add-on to ACE class-libraries, which allows using of ACE Proactor pattern on POSIX platforms. Major benefits:
  • one code base on MS-Windows and all flavors of UNIX (Proactor pattern);
  • in many cases add-on Proactor improves performance up to 2 times (compared with Reactor);
  • easy to add platform specific small driver to tune-up the system to get maximum possible performance;
  • one code base for SSL and non-SSL implementation of the same solution.
  • better scaling for multi-CPU machines
  • minimized number of memory allocations and pooling of asynch results
  • simplified Proactor internal design with compatible interface with old Proactors
简单的来说,不用使用linux下不太成熟的AIO作为proactor的默认实现了,可能的选择如下:
PVT_NONE        = (PVC_NONE),         // Provider not exist
        PVT_POSIX_AIOCB = (PVC_POSIX | 1),    // POSIX Standart AIO api
        PVT_POSIX_SIG   = (PVC_POSIX | 2),
        PVT_POSIX_CB    = (PVC_POSIX | 3),
        PVT_SUN_AIO     = (PVC_SUN_AIO),
        PVT_LINUX_NAIO  = (PVC_LINUX_NAIO),   // Linux libaio apo io_XXXXX
        PVT_SELECT      = (PVC_EMULATION | 1),  //
        PVT_POLL        = (PVC_EMULATION | 2),
        PVT_EPOLL       = (PVC_EMULATION | 3),
        PVT_DEVPOLL     = (PVC_EMULATION | 4),
        PVT_SUNPORT     = (PVC_EMULATION | 5),
        PVT_KQUEUE      = (PVC_EMULATION | 6)

另外可以选择两种模式,一种是独立使用TBR_Proactor,一种是替换ACE的Proactor的实现。

配置大体按照下载后解压目录下的install.txt即可。
需要注意的以下。
1.需要安装openssl,这个编译ACE的时候如果不是嫌麻烦特意禁用应该已经安装了。
2.如果使用perl $ACE_ROOT/bin/mwc.pl -type gnuace -include $AIO_ROOT  -global $AIO_ROOT/linaio.mpb aio.mwc
需要安装libaio,这个比较简单。
3.如果已经将ace安装到默认目录下/usr/local/lib的话,Terabit生成的makefile会傻傻的找不到,默认将无法找到ace的库。
在$ACE_ROOT/lib目录下做个链接就可以了。
4.在ld.so.conf包含一下运行库的路径
接下来,将例子跑一遍就OK了。

[ 本帖最后由 modern 于 2010-5-8 22:36 编辑 ]
发表于 2011-2-11 17:52:04 | 显示全部楼层
本帖最后由 dean 于 2011-3-1 15:08 编辑

编译失败。。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-15 08:30 , Processed in 0.015273 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表