没有合适的资源?快使用搜索试试~ 我知道了~
TAO使用指南
需积分: 9 1 下载量 194 浏览量
2018-09-05
09:03:22
上传
评论
收藏 50KB DOC 举报
温馨提示
试读
14页
介绍了TAO的使用方法及基本概念,内容丰富语言简洁,小白容易理解;
资源推荐
资源详情
资源评论
TAO 使用指南
发信站: BBS 水木清华站 (Thu May 8 18:35:49 2003), 站内
最近正在将一个工程由 Orbix2000 向 TAO 移植. 将一些心得和经验奉上,
算是给 DOC 版做点贡献... 说的不对, 请大家指正. 同时您有什么心得
也不仿写出来嘛 :)
1. 什么是 TAO?
TAO 是美国华盛顿大学的 CORBA 界大牛 Douglas C. Schmidt 博士领导
开发的一个实时 CORBA 平台. 它是一个开放源码项目, 所以是完全免费的.
用 C++语言开发. 符合 CORBA2.6 版本.
支持语言: C++
支持平台: Win32, 常见的各种 Unix, Linux, 实时操作系统如 VxWorks
等等. 在所有的 CORBA 平台中, TAO 支持的平台应该是最多的.
支持的服务: Naming, Event, Notification, Security, Time,
Scheduling, Logging, Lifecycle, Trading, Concurrency, Lifecycle,
A/V Streaming, Load balancing 等.
2. 网上的 TAO 资源
TAO 主页: http://www.cs.wustl.edu/~schmidt/TAO.html
OCI 公司宣布对 TAO 进行技术支持: http://www.ociweb.com
它出了一本书叫: TAO Developer's Guide, 上下两卷, 1000 页
左右, 要 250 美刀. 吐血买了一本...
此外, OCI 有自己的 TAO 发布版本, 最新版本号为 1.2a. Win32 版本
开价 50 美刀.
OCI 有一个 TAO 的 FAQ, 很不错, 地址:
http://www.ociweb.com/faq/index.html
TAO 的 Mailing List: tao-users@cs.wustl.edu
Mailing List Archive: http://groups.yahoo.com/group/tao-users
3. 下载 TAO
地址: http://download.dre.vanderbilt.edu/
目前最新的 Release 版本是 1.3
发信人: Mentoya (钻研 Orbix2000 中...), 信区: DOC
标 题: TAO 使用指南 -- 编译 ACE 和 TAO
发信站: BBS 水木清华站 (Thu May 8 19:11:37 2003), 转信
我只用到 Win32 平台. 现在使用的环境是: WinXP Professional + MSVC SP5.
在 Win32 平台下, 还可以使用 C++ Builder 来编译和开发 TAO. 我没有用过.:-(
参见: http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/TAO-INSTALL.html
------------------------------------------------------------------------
TAO 完全支持 Win32API,(包括 Windows NT, Windows 2000, Windows 95/98/ME)
VC5.0 和 VC6.0 均可编译。如果要在 Borland C++ Builder 中编译,请参见有关文档.
TAO 可以被编译成两种版本:DLL 版(动态链接)和 LIB 版(静态链接)
一. Win32+VC6.0 下编译和安装 ACE 和 TAO
将网上下载的 TAO 软件包解压缩到某个目录,在该目录下会有 ACE_wrappers 目录。
请按照以下步骤来执行:
1. 新建两个环境变量:
ACE_ROOT=ACE_wrappers 所在目录;
TAO_ROOT=ACE_wrappers\tao
2. 在 ACE_ROOT\ace 目录下建立一个空文件 config.h,里面包含一句:
#i nclude "ace/config-win32.h"
以说明是要在 win32 平台下进行编译。
注:
(1) #i nclude "config-win32.h"亦可
(2) 最好在#i nclude 之前加上
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 以使用 MSVC 的 STL 库.
3. 如果是 98/ME,则在 ACE_ROOT\ace\config.h 的最前面加上
#define ACE_HAS_WINNT4 0
来关掉一些 NT/2000 中特有的代码。
4. 如果你想用 MSVC 的 STL 库 (如 iostream, cstdio 等), 则在 config.h 文件
中的#i nclude 语句前添加下面的行:
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
注: 推荐使用该编译开关. 否则对新手而言, 在自己的工程中使用 MSVC 的 STL
库时会有一些小麻烦.
5. 如果在 ACE 中要使用 MFC 的库,则需要在 config.h 中添加:
#define ACE_HAS_MFC 1
在默认情况下,所有的 ACE 工程使用的是 MSVC 的 DLL 文件作为运行时库。
你可以选择使用 ACE 的静态库文件(LIB)而不需考虑这些运行时库。
选择动态链接的原因是所有的 NT 都会包含这些 dll 文件(节省空间).
如果你想使用 MFC 的静态库版本,则需要在 config.h 中加入以下的宏定义:
#define ACE_USES_STATIC_MFC 1
你也可以全部使用静态库,这需要你在 ACE 的工程文件中自己设置。
6. 如果定义了 ACE_AS_STATIC_LIBS 宏,则 ACE 库将被编译成为静态库。
如果你的程序要静态链接 ACE 的静态库,则在你的工程中也要定义这个宏:
ACE_AS_STATIC_LIBS.
作为可选项,为了减小静态库文件和你的可执行程序的大小,你可以在
ACE_ROOT\ace\config.h 文件的#i nclude 语句前添加如下的宏定义
#define ACE_NO_INLINE
来禁止内联函数。
7. 用 VC 打开 TAO 和 ACE 的工程文件:ACE_ROOT\tao\taoace.dsw,开始编译 ACE
和 TAO. 注意 ACE 和 TAO 有 Debug 和 Release 两个版本. 你在开发自己的程序时,
如果是 Debug 版的程序, 必须链接 Debug 版的 TAO 库, 如果是 Release 版的程序,
必须链接 Release 版的 TAO 库.(这不废话! 不过你一定会回来和我一起唱这个
当当当的)
taoace.dsw 中包含了许多工程, 工程之间是有依赖关系的. 所以这个工程
编译的顺序比较重要. 关于编译的顺序, 下文叙述.
每个工程都包含有一些不同的配置:Debug/Release、MFC/Non-MFC、
Static/Dynamic 等版本。你必须确定你所需要的版本。如,要生成你程序的
debug 版,则需要 debug 版的 ACE。
注意:如果你用动态(DLL)版本的 TAO,在开发程序时,需要将 ACE_ROOT\bin
目录添加到你的程序的 PATH 环境变量中,否则程序会报告找不到动态链接库.
8. 编译顺序.
TAO 中有好多服务可能是你用不到的. 所以编译时没有必要将所有的程序全部
编译一遍. 要知道编译 TAO 还是个艰巨的任务咧.
我目前只用到了 Naming 和 Event 服务, 并且没有用它的实时 CORBA 功能. 所以我
的编译顺序是:
说明 需要编译的工程
---------------------------------------
核心库 ACE DLL Files
TAO DLL Files
IDL 编译器 gperf Files
TAO_IDL_FE_DLL Files
TAO_IDL_BE_DLL Files
TAO_IDL Compiler Files
POA PortableServer Files
名字和事件服务 IORTable Files
Svc Utils Files
CosNaming Files
Naming_Service Files
Messaging Files
CosEvent Files
CosEvent_Service Files
NT_Naming_Service Files
----------------------------------------
TAO 的主页上有一个可以自动编译所有 TAO 工程的脚本, 记不得在那里了.
9. 编译后得到的文件分散于各目录中:
可执行程序和动态链接库文件: $ACE_ROOT\bin
剩余13页未读,继续阅读
资源评论
No.10-11
- 粉丝: 1
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功