• ACE之旅——环境搭建、HelloWorld


    ACE之旅——环境搭建、HelloWorld

      关于ACE的好处和牛x之处在此就不说了,新工作中大量使用到了ACE,之前没有怎么研究过,经过几周的研究,大概摸清了点脉络,故开始在此写下第一篇,也是我的笔记吧。

    1、构建开发环境

      我的开发环境是:Slackware 13.37 x86 Linux系统,使用ACE 5.7。编译方法如下: 

    $ mkdir ~/usr/ace57

    $ tar -xvf ACE-5.7.0.tar.gz

    $ cd ACE_wrappers

    $ mkdir build

    $ cd build 

    $ ../configure –prefix=$HOME/usr/ace57

    $ make 

    $ make install

      将ACE的库和头文件装在$HOME/usr/ace57下,由于不是Unix/Linux标准的库搜索路径,我也不想改ld.so.conf,为了编译和运行在.bash_profile中添加了如下内容:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/usr/ace57/lib

    export ACE_ROOT=$HOME/usr/ace57

      LD_LIBRARY_PATH是为了运行时搜索动态库用的,ACE_ROOT则是我自己定的在makefile中引用ACE的安装位置。

    2、HelloWorld

      HelloWorld很简单,虽然大家都对它很不屑,但是一个简单的HelloWorld足以判断我们的环境是否正确,就像做过LFS的朋友可能中途会写好几次HelloWorld验证工具链是否正确、装完JDK有时也会顺手写个HelloWorld验证JDK是否配置正确……

      代码如下:

    #include "ace/Log_Msg.h"

    int ACE_TMAIN(int, ACE_TCHAR *[]) {
    ACE_DEBUG((LM_DEBUG, ACE_TEXT(
    "Hello, ACE !\n")));
    return 0;
    }

      makefile如下:(虽说这完全没必要搞makefile,但是我想把我的ACE学习过程整理成一个个的简单的小实例、小demo,也就对此也就一并写了makefile,btw:牢骚下,cnblogs插入代码为什么没有makefile的?shell的?)

    first_deps = first.cpp

    CC = g++
    INCL = $(ACE_ROOT)/include
    LIBS = $(ACE_ROOT)/lib

    .SUFFIXES: .cpp.o
    .cpp.o:
        $(CC) -g -I$(INCL) -c $*.cpp

    first: $(first_deps)
        $(CC) -I$(INCL) -L$(LIBS) -o first $(first_deps) -lACE

    clean:
        -rm *~
        -rm first

      编译,执行:

    $ make

    $ ./first

    Hello, ACE !

    (转载时请注明作者和出处。未经许可,请勿用于商业用途)
      更多文章请访问我的Blog: http://www.cnblogs.com/logicbaby


  • 相关阅读:
    mysql 系统表的作用
    从事务隔离级别谈到Hibernate乐观锁,悲观锁
    python 模拟登陆,请求包含cookie信息
    Python入门介绍
    mysql中设置小数
    分割png图片
    ubuntu 14.04 安装win7虚拟机
    rwx
    获取文件名称 basename 用法
    like tp
  • 原文地址:https://www.cnblogs.com/logicbaby/p/2100587.html
Copyright © 2020-2023  润新知