找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 8832|回复: 4

跟我一步一步学使用ACE(linux 版) - by stone

[复制链接]
发表于 2007-12-24 23:16:03 | 显示全部楼层 |阅读模式
跟我一步一步学使用ACE(linux 版)

stone jiang<2005119[@]gmail.com>

0. 使用ACE,首先要认真阅读ACE相关的文档。
   [url=http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html]http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html[/url]
   如果看完之后能正确使用ACE,那就别再向下看了,请忽略本文。

1. 获取ACE源代码
   
   获取ACE的方法,可以从官方网站上下载,也可以通过svn check out最新的代码。先说下载的方法:
  1) 下载 ACE
    [url=http://download.dre.vanderbilt.edu/]http://download.dre.vanderbilt.edu/[/url]
  2) SVN获取ACE
    先导需求:已安装了svn
    假如您准备把ACE放在/usr/目录下,切换到root或对/usr目录有权限的用户下
    svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/sets-anon/ACE+TAO+CIAO .    svn会获得最新的代码。
2. 设置环境变量
   注意:后面的操作都会使用到ACE_ROOT这个环境变量,请一定不要自已用别的变量名替代
   1) ACE_ROOT=/usr/ACE+TAO+CIAO/ACE_wrappers;export ACE_ROOT
   2) LD_LIBRARY_PATH=$ACE_ROOT/lib;export LD_LIBRARY_PATH

3. 通过MPC生成Makefile文件
    cd $ACE_ROOT
    $ACE_ROOT/bin/mwc.pl -type make $ACE_ROOT/ace/ace.mwc
4.
   如果第3步没有出错的话,那以,可以编译ACE了
   在$ACE_ROOT/ace目录下,运行
   make
  
5. 不出意外的话,就会在$ACE_ROOT/lib中看到编译ACE的成果
   libACE.so
以上是ACE的编译.


-------------------------------------------------------------------
  接下来我们开始学习一下写hello ace.

//---------------------------------------------------------------
//@file: hello.cpp

#include <stdio.h>
#include "ace/Log_Msg.h"
#include "ace/OS_main.h"
int ACE_TMAIN(int argc, ACE_TCHAR* argv[])
{
     ACE_DEBUG((LM_DEBUG,ACE_TEXT("hello world.\n")));
     return 0;
}

//-------------------------------------------------------------
再写hello.mpc

project(hello) :aceexe{
  exename = hello
  after += hello
  
  Source_Files {
   hello.cpp
  }
}
  
------------------------------------------------------------
用MPC实用工具生成Makefile文件
$ACE_ROOT/bin/mwc.pl -type make hello.mpc
您将得到Makefile和Makefile.hello两个文件
运行make
可以得到可执行文件hello
./hello
得到
Hello world.


到此,您已经进入ACE世界了。祝您越走越远!
 楼主| 发表于 2007-12-24 23:16:17 | 显示全部楼层
晕,发现一个错误
第4步应该为:
$ACE_ROOT/ace目录下而不是$ACE_ROOT下
4.
   如果第3步没有出错的话,那以,可以编译ACE了
   在$ACE_ROOT/ace目录下,运行
   make


我刚学linux,对写 shell还不太熟悉。
其实,我觉得可以把上面的操作写成一个 shell来执行。
 楼主| 发表于 2007-12-24 23:16:29 | 显示全部楼层

关于MPC

请教楼主,我很不明白MPC文件的作用,它是个啥子东西?在整个编译过程中是起到啥子作用?

哪里可以有他的使用手册?

谢谢。
 楼主| 发表于 2007-12-24 23:16:37 | 显示全部楼层
MPC是为ACE程序编写make file文件的实用工具,用perl写的。

只需要一次书写 hello.mpc,就可以为不同平台,不同编译器生成对应的make file文件,这对于要在多个平台下编译同一套代码来说,那真是太好了。对于我等 对不太懂makefile的人,MPC也是一个很好的工具。


对于vc来说,可以生成hello.vcproj, hello.sln (支持vc71, vc 8) ,也可以生成windows下的nmake对应的makefile文件。

MPC对应的脚本是放在ACE_ROOT/bin下的,mwc.pl
在ACE_ROOT/MPC/doc下有一个MPC的USEAGE
 楼主| 发表于 2007-12-24 23:16:44 | 显示全部楼层
赞,石头兄研究东西深入啊
我到现在都只会在windows下面用ACE

linux下面,sigh,俺只会把所有内容copy到一个main.cpp里面去编译
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

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

GMT+8, 2024-11-22 01:08 , Processed in 0.017502 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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