`

ICE开发环境搭建

    博客分类:
  • ICE
 
阅读更多
mark一下
转载自 http://bbs.chinaunix.net/viewthread.php?tid=1609079

好久没发帖了,来C++版打个广告
关于ICE的介绍我也说不了,大家百度看看就行了。
试用方法和一些slice的语法可以参考
http://masterkey.javaeye.com/blog/183307
ZeroC ICE之旅------C++
从今年6月份开始接触ICE,用了几个月发现对于面向对象的通讯方面的开发来说,确实很方便。咱也不是五毛专门来做广告的。
废话不多说,就挑点印象比较深的说说。

(1):模型简单,通讯采用回调函数的方式设计,或者说是RPC,远程过程调用也行,说最朴素点,就是这样,A机器和B机器通过
一个用slice语法书写的ice文件来定义通讯中的接口和对象(也就是数据结构和函数接口),比如定义了一个接口f,对象o,当客户端A调用
f(o)这个方法时,服务端B的f(o)方法就会被调用,当然B端f(o)中的数据是A端传递的;当然,对于发起端A来说,f这个接口是通过ice文件定义
自动生成的,不需要任何处理,只需要在通讯时,构造好数据对象,直接调用就行。对于服务端,需要定义一个消息处理函数f,也就是说需要实现ice文件中定义的接口,这样,在客户端调用时,服务端就能对数据按照自己理想的方式进行处理了。

(2):试用方便,稳定,支持多平台多语言互通。要通讯时只需要构造好通讯约定好的proxy字符串,字符串包含了通讯目的地IP,端口,试用的协议,超时机制等等,很多配置,可以阅读ICE的文档。

(3):感受,如果不是非要用C语言完成工作,我现在基本上都会选择ICE,呵呵,当然,也有人把ICE的C++接口封装供C来调用。说句偷懒而且很有可能被BS的话,现在宁可忘记socket,呵呵,自己之前做过一个东西,用TCP做的还多平台接口,前几天全部抽空在周末改成ICE的了,windows的客户端和linux服务器程序通讯,基本上不用考虑不通OS引起的差异。代码结构简化了好多,只需要把注意力放在业务处理上。

最后把自己整理得一个ICE的安装文档(也是借鉴互联网上别的朋友的帖子,我的是64位机器上的)发上来,感兴趣的朋友可以参考下。
软件包:
bzip2系统已经自带,不需安装
Ice-3.3.1.tar.gz
expat-2.0.1.tar.gz           
openssl-0.9.8k.tar.gz
db-4.6.21.NC.tar.gz
mcpp-devel-2.7.2-1ice.src.rpm

安装目录为/usr/local/component

(1)安装mcpp
rpm -i mcpp-devel-2.7.2-1ice.src.rpm
cd /usr/src/redhat/SPECS/
rpmbuild -bp mcpp-devel.spec
cd /usr/src/redhat/BUILD/mcpp-2.7.2/
然后就可以进行安装了。
./configure --prefix=/usr/local/component/mcpp CFLAGS=-fPIC -enable-mcpplib -enable-shared
make
make install
如果是64位机器的话, 还要把安装目录下的
lib目录的内容拷贝到安装目录下的一个新建的名为lib64目录下。
(2)安装expat
tar -zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
./configure --prefix=/usr/local/component/expat
make
make install
(3)安装OpenSSL
tar -zxvf openssl-0.9.8k.tar.gz
cd openssl-0.9.8k
./config --prefix=/usr/local/component/openssl
make
make install
(4)安装DB
tar -zxvf tar -zxvf db-4.6.21.NC.tar.gz
cd cd db-4.6.21.NC
cd build_unix
../dist/configure --prefix=/usr/local/component/db -enable-cxx
make
make install
同样,DB的lib目录也拷贝一份lib64
(5)ICE安装
tar -zxvf Ice-3.3.1.tar.gz
cd Ice-3.3.1
cd cpp
vi config/Make.rules
修改Make.rules里面的各个第三方软件的路径
具体的有:
prefix                   ?= /usr/local/component/Ice-$(VERSION)
embedded_runpath_prefix  ?= /usr/local/component/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)
DB_HOME         ?= /usr/local/component/db
EXPAT_HOME              ?= /usr/local/component/expat
OPENSSL_HOME            ?= /usr/local/component/openssl
MCPP_HOME               ?= /usr/local/component/mcpp
保存
然后
make
make install
make test

分享到:
评论

相关推荐

    elcipse ICE 环境搭建

    elcipse ICE 环境搭建 Eclipse下分布式计算环境构建与 开发——Eclipse与Slice2Java插件

    Ice-001#-#Windows 驱动开发环境搭建1

    前言本节主要讲解一下驱动开发环境搭建和一些常见的问题如何解决。环境搭建必要工具,windbg,VS13 或更高版本,WDK 驱动开发,KmdManager 和

    Ice_install.rar_ICE_ISCE install_ice lin_ice linux

    linux环境下ICE平台的搭建方法,ICE开发必备

    ICE 分布式编程资料

    ICE 分布式开发环境搭建,电子书,demo

    Android 4.0 SDK 环境搭建

    Android 4.0 SDK 已经出来好一段时间了,早就想试试这个版本到底怎样,好久没做android开发了,之前还是用Android2.2开发的,看这图貌似长得跟冰淇淋一样,所以叫 Ice Cream Sandwich(冰淇淋三明治),蛮有趣的。

    Iceberg-Blog

    项⽬描述:采⽤前后端分离架构实现的博客系统,主体架构采用 SpringBoot + Thymeleaf + MyBatis,基于Java环境采用 IntelliJ IDEA 开发,使用 Maven 工具构建。 涉及技术:Spring Boot、MyBatis、Thymeleaf 设计细节...

    Android 教学实验箱 CES-EDU210B

    理论与实践的结合,透过详尽的实验例程,更深层次、系统化的学习Android系统的相关技术,从系统架构介绍、开发环境搭建,再到系统到平台的移植,应用软件的开发,整个课程系统采用由浅及深、循序渐进的学习模式,...

    开源FPGA开发板-电路方案

    开发环境搭建 视频教程 FPGA教程 参考 iCESugar 介绍iCESugar 是MuseLab基于Lattice iCE40UP5k设计的开源FPGA开发板,开发板小巧精致,资源丰富,板载RGB LED,Switch,TYPE-C-USB, Micro-USB,大部分IO以标准PMOD...

    移动开发思维导图

    一个学习Android的思维导图,只要从环境搭建、Android基础知识、用户界面优化、系统功能、数据存储、网络通信、混合编程、主流开源库深度部析、NFC应用开发、Android测试、实战开发

    JavaScript使用DeviceOne开发实战(一) 配置和起步

    2015 年 9 月 底,DeviceOne Release发布。至此,DeviceOne 基本完成了对多端的支持。基于 DeviceOne 可以: ... 实时简单部署。...下面介绍下DeviceOne环境搭建,不管是应用开发还是组件开发,都需要搭建

    利用soaplib搭建webservice详细步骤和实例代码

    最近在搞基于python的webservice项目,今天为把环境给配好,折腾了不少时间,还是把配的过程记录下来,以后备用:首先你系统上要有python,这个不必说啦,我系统上用的是2.7+其次,要用python进行webservice开发,还...

Global site tag (gtag.js) - Google Analytics