原创 linux環境下歸檔兩個靜態庫爲一個靜態庫

如果在你的項目中有兩個工程,分別編譯成liba.a和libb.a,這時如果要開放一個新的api庫給客戶端使用libc.a 但是在libc.a中依賴了liba.a和libb.a,那麼發佈的時候不可能發佈三個庫,只能發佈一個庫libc.a,那

原创 ICE的AMI方法調用

從一個例子來說明AMI方法的使用,例如如下的接口定義: interface MyInterface  {     int op(double d,

原创 ICE的服務器對象實現

1、需要增加一個類繼承至生成的接口類,並實現接口類的虛方法。 2、創建實現類的對象 3、調用adpater的add方法將創建的對象綁定到adapte

原创 slice的AMD方法實現與調用

藉由一個interface來說明amd方法的使用: interface MyInterface {int NormalOp(string name,

原创 slice的c++映射

1、Slice標識符映射到相同的C++標識符。(儘量不要使用與語言相關的標示符) 2、Slice模塊映射到C++名字空間。 3、Slice基本數據的bool和string映射到C++的bool和std::string,其他均映射到ice的

原创 ICE的屬性設置

1、ICE的屬性即"name=value"值,具體的name範疇可以見後續描述。可以在程序中設置屬性值到ICE的運行環境中    但一定要注意在Co

原创 ICE的工具集基本功能

1、爲了能夠生成一個全局的唯一標示,主要用來在adapter註冊servant的時候需要ID,可以通過該方法獲得一個     string IceU

原创 ice環境初始化和slice方法調用

1、客戶端環境調用 #include<Ice/Ice.h> int main(int argc, char* argv[]) {     Ice::

原创 ICE的slice定義注意事項

一、源文件規則 1、文件擴展名必須爲.ice 2、在使用#include來包含其他的ice定義文件時,只能使用<>,不能使用""。在使用路徑包含時,使用linux風格的斜線,不能使用windows風格的反斜線 3、每個slice定義文件中

原创 ICE運行環境備忘二

1、需要理解ICE運行環境對客戶端請求的調用分派語義,即當一個請求到來時,如何查找到對應到servant服務對象進行消息處理    A、在ASM 中

原创 ICE運行時環境備忘一

1、ICE運行環境的唯一句柄Communicator對象,其用來管理ICE運行環境下所有對象資源,包含但不限於:    A、客戶端線程池,主要用來進

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

1. ANSI C++(標準C++)逆向工程(Reverse Engineer)使用標準C++逆向工程,需要在組件圖(component view)中創建一個組件(component),設置好需要進行轉換的組件的信息,也就是該組件的語言、

原创 ICE運行環境備忘三

1、ICE是一個多線程的運行環境,每個communicator通信器中都有一個Leader-Follower的線程池負責處理客戶端的服務請求,    ICE的線程池有一系列的屬性用以來控制線程池的運行,主要包含如

原创 字符編碼介紹

1、ASCII碼    美國人發明的字符編碼方式,用一個字節即8個bit來編碼字符,共可以編碼256個字符,但是它的最高位一直是0,僅僅編碼了128個符號 這些符號包含基本可見字符和32個不可見的控制符號 2、UniCode    un

原创 ICE的輸入流和輸出流

1、ICE提供流式接口InputStream來進行對象的解碼操作,通過如下方法構造一個輸入流對象:    InputStreamPtr createInputStream(const Ice::Commu