原创 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