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
分享到:
相关推荐
##### 3.1 ICE开发环境搭建 搭建ICE开发环境通常涉及以下几个步骤: 1. **安装ICE**:访问ZeroC官方网站下载并安装ICE。 2. **配置IDE**:根据所使用的编程语言配置相应的开发环境。 3. **创建项目**:设置好ICE...
在Eclipse中搭建ICE开发环境需要使用特定版本的Eclipse和相应的插件。例如,Eclipse(版本3.5.2)需要安装ICE-3.4.1.msi,并通过Eclipse的“Help”菜单下的“Install New Software”选项来安装Slice2Java插件。安装...
前言本节主要讲解一下驱动开发环境搭建和一些常见的问题如何解决。环境搭建必要工具,windbg,VS13 或更高版本,WDK 驱动开发,KmdManager 和
在Ubuntu系统上安装Zeroc-ICE环境主要涉及以下知识点: ...安装Zeroc-ICE是进行相关开发或者搭建分布式系统的前提,因此对于想要在Ubuntu环境下利用Zeroc-ICE进行开发的用户来说,这些步骤是入门级别的必要知识。
WES7开发环境搭建说明书主要介绍了Windows Embedded Standard 7(简称WES7)开发环境的搭建过程及其相关组件功能。WES7是微软推出的一款嵌入式操作系统,它基于Windows 7内核,适用于构建特定的嵌入式系统。以下是本...
Android 4.0(Ice Cream Sandwich,ICS)的开发环境搭建是一项基础工作,对于开发者来说至关重要。在这个过程中,我们需要确保所有必要的组件都正确安装并配置,以便能够编写、调试和测试Android应用程序。以下是一...
### X86笔记本安装Android 4.0全教程:安卓4.0开发环境搭建 #### 知识点一:Android 4.0简介及其在不同平台的应用 - **背景介绍**:随着移动互联网的发展,Android操作系统逐渐成为全球范围内最受欢迎的操作系统之...
在搭建Android开发环境时,通常需要安装Java Development Kit (JDK),设置环境变量,然后下载并安装Android SDK,其中包括模拟器、各种版本的Android系统映像、开发工具(如Android Studio)等。开发者还需要熟悉...
1. **Interpreted Ice概述**:Interpreted Ice是一种增强型开发环境,它在原有的Ice框架基础上添加了更多高级特性,如动态编译、即时运行等。 2. **动态编译技术**:Interpreted Ice支持动态编译,即开发者可以在不...
【描述】"ice集群,相当好用哦"暗示了Ice在搭建和管理Java集群方面的实用性。Ice集群能够帮助开发者创建可扩展的、容错的系统,使得多个服务器可以协同工作,共享负载,提高服务的可用性和性能。 【标签】"ice集群...
Ubuntu或CentOS等Linux发行版通常是开发环境的首选。确保系统已更新至最新版本,以获取最新的库和安全补丁。 步骤一:安装基本依赖 在Linux环境下安装ICE之前,需要确保系统已经安装了必要的依赖库。这些可能包括...
这种特性使得基于Ice构建的应用能够轻松跨越多个异构环境进行通信。 #### 2. 语言独立 Ice支持多种流行的编程语言,并通过统一的API接口实现这些语言之间的互操作。这意味着开发人员可以自由选择最适合项目需求的...
嵌入式系统开发环境和工具链是开发人员用于创建、编译、链接和调试在特定硬件平台上运行的软件的集合。这些工具对于构建高效、可靠且优化的嵌入式应用程序至关重要。下面我们将深入探讨其中的关键组件及其作用。 1....
5. **快速入门**:快速入门指南通常包含简化的步骤,让你能够在短时间内搭建起一个基本的 ICE 示例,以便快速体验其功能和工作流程。 6. **3.7.0源码资源**:这部分可能包含了 Zeroc ICE 3.7.0 版本的源代码,对于...
这份文档详细阐述了如何配置和搭建ICE的开发环境。它可能涵盖了以下内容: 1. **系统要求**:列出支持ICE操作系统的版本,如Windows、Linux、macOS等。 2. **安装步骤**:指导用户如何下载和安装ICE的SDK,包括设置...
本文将详细指导你如何一步步构建Android 4.0 (Ice Cream Sandwich, API Level 15)的开发环境。 首先,你需要准备以下软件: 1. **JDK 6 或更高版本**:Java Development Kit是Android开发的基础,它提供了编译和...