自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 ICE的插件使用

1、实现插件接口   local interface Plugin    {       void initialize();       void destroy();   };      extern "C"   {       ICE_DECLSPEC_EXPORT Ice::Plugin*       functionName(const Ice::

2012-03-30 22:55:21 2732 1

原创 ICE的日志和统计接口

1、获取日志对象:   virtual LoggerPtr getLogger() const;2、日志对象提供的方法:   local interface Logger   {        void print(string message);        void trace(string category, string message);        vo

2012-03-30 22:12:06 3416 1

原创 ICE的proxy使用

1、在ICE的客户端获取代理的方式如下:   A、Ice::ObjectPrx p = communicator->stirngToProxy("MyProxy:tcp -h 10.0.0.1 -p 12345");   B、Ice::ObjectPrx p = communicator->propertyToProxy("MyProxy");       在配置文件中配置MyProx

2012-03-28 22:46:32 6568

原创 ICE运行环境备忘三

1、ICE是一个多线程的运行环境,每个communicator通信器中都有一个Leader-Follower的线程池负责处理客户端的服务请求,   ICE的线程池有一系列的属性用以来控制线程池的运行,主要包含如下内容:   ThreadPoolName.Size          = 3              # 线程池初始线程个数3个,注意默认大小1个   ThreadPoolN

2012-03-28 22:45:34 5934

原创 linux环境下归档两个静态库为一个静态库

如果在你的项目中有两个工程,分别编译成liba.a和libb.a,这时如果要开放一个新的api库给客户端使用libc.a但是在libc.a中依赖了liba.a和libb.a,那么发布的时候不可能发布三个库,只能发布一个库libc.a,那么就需要将liba.a和libb.a打入到libc.a中,可通过如下命令方式来做:rm libc.a rm ar.mac echo CREATE

2012-03-27 12:23:07 1120

原创 ICE运行环境备忘二

1、需要理解ICE运行环境对客户端请求的调用分派语义,即当一个请求到来时,如何查找到对应到servant服务对象进行消息处理   A、在ASM 中查找该标识。如果ASM 有这样一个条目,就把请求分派到对应的servant。   B、如果到来的对象标识的范畴不是空的,就查找针对该范畴注册的servant定位器。如果有这样的servant 定位器,就调用这个定位器的locate,

2012-03-25 17:08:28 1511 1

原创 ICE运行时环境备忘一

1、ICE运行环境的唯一句柄Communicator对象,其用来管理ICE运行环境下所有对象资源,包含但不限于:   A、客户端线程池,主要用来进行AMI方法的回调接口调用,防止环形调用产生的死锁   B、服务器端的线程池,主要用来接收和处理客户端的接口调用请求   C、ICE运行环境对应的属性集合   D、对象工厂,主要用来根据实例化接口对象   E、日志对象和统计对象,其实

2012-03-25 14:50:32 4542

原创 ICE的属性设置

1、ICE的属性即"name=value"值,具体的name范畴可以见后续描述。可以在程序中设置属性值到ICE的运行环境中   但一定要注意在Communicator::Initialize方法调用之前设置好值,在之后设置的值会被ICE的运行环境忽略2、属性名不能包含如下前缀:Ice、IceBox、IceGrid、IcePatch2、IceSSL、IceStorm、Freeze、Glaci

2012-03-24 22:38:34 4009

原创 ICE的工具集基本功能

1、为了能够生成一个全局的唯一标示,主要用来在adapter注册servant的时候需要ID,可以通过该方法获得一个    string IceUtil::generateUUID()2、工具集提供了两个字符集的转换函数,主要用于unicode和utf8之间的转换    wstring IceUtil::stringToWstring(const string& str, Conver

2012-03-24 16:06:08 7228

原创 利用rational rose做c++的逆向工程之备忘

1. ANSI C++(标准C++)逆向工程(Reverse Engineer)使用标准C++逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reverse Engineer就可以根据给定的信息将代码转换成类图了。a) 右键点击组件视图(Com

2012-03-23 19:04:01 2809 1

原创 ICE的服务器对象实现

1、需要增加一个类继承至生成的接口类,并实现接口类的虚方法。2、创建实现类的对象3、调用adpater的add方法将创建的对象绑定到adapter中,并传入一个全局唯一标示符,该唯一标示可以通过如下方法生成:   adapter->add(hello, communicator()->stringToIdentity("hello"));   adapter->addWithUUI

2012-03-22 22:57:10 2029

原创 slice的AMD方法实现与调用

借由一个interface来说明amd方法的使用:interface MyInterface{int NormalOp(string name, out long l);["amd"] int AmdOp(string name, out long l);};生成的c++代码如下:class MyInterface : public virtual IcePro

2012-03-22 22:55:45 1487

原创 ice环境初始化和slice方法调用

1、客户端环境调用#includeint main(int argc, char* argv[]){    Ice::CommunicatorPtr ic;   try   {       ic = Ice::initialize(argc, argv);       Ice::ObjectPrx base = ic->stringToProxy("MyProx

2012-03-21 22:17:48 3034

原创 ICE的AMI方法调用

从一个例子来说明AMI方法的使用,例如如下的接口定义:interface MyInterface {    int op(double d, string s, out int i, out long l);};其映射生成的方法如下:class MyInterface : public virtual IceProxy::Ice::Object{public

2012-03-21 19:23:07 2696

原创 slice的c++映射

1、Slice标识符映射到相同的C++标识符。(尽量不要使用与语言相关的标示符)2、Slice模块映射到C++名字空间。3、Slice基本数据的bool和string映射到C++的bool和std::string,其他均映射到ice的跨平台数据类型4、slice枚举映射到c++的枚举5、slice结构映射到c++的同名结构,其成员变量映射成同名的c++成员变量。为了支持标准库的集合

2012-03-21 19:22:05 5322

原创 ICE的slice定义注意事项

一、源文件规则1、文件扩展名必须为.ice2、在使用#include来包含其他的ice定义文件时,只能使用3、每个slice定义文件中最好加上#ifndef的宏定义,防止文件的双重包含4、文件必须是utf-8编码的二、词法规则1、slice文件支持c++的单行和多行注释2、slice定义中的关键字均为小写3、slice文件中关键字不能以下划线开始和结尾,当然

2012-03-21 19:17:01 8727

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除