Ice開發初步 HelloWorld的實現

2021-07-14 15:11:57 字數 1585 閱讀 3265

初識ice,試著使用slice語言在vs2010下編寫helloworld程式,參考了官網及網路帖子上的思路,終成。現在記錄一下。

2.在ide中設定專案需要包含的目錄,vs設定全域性目錄的方式不同與之前版本。設定方法是:

在ide中,開啟檢視-》屬性管理器。展開任意乙個專案的樹形後,有乙個名為「microsoft.cpp.win32.user」的專案(如下圖)。這個就是全域性目錄了。將ice的bin目錄新增進可執行檔案目錄,include新增進包含目錄,lib新增進庫目錄

3 將slice2cpp作為外部工具新增到vs2010.

具體步驟:在ide的工具-》外部工具-》新增 中,設定如下圖

4 建立名為printer的slice檔案,用記事本編寫即可,注意檔案儲存為.ice字尾形式。printer.ice的內容如下:

module demo;};

5建立名為helloworld的空白解決方案。

在新建專案->其他專案型別->visual studio解決方案。

6在空白解決方案中新增名為ice的空白靜態庫專案。

將printer.ice放置到ice專案資料夾下,然後在ice專案的資源檔案中新增現有項printer.ice.然後執行slice2cpp工具命令。

此時ice專案資料夾下已增加了printer.h和printer.cpp檔案,將它們分別新增到原始檔和標頭檔案的資料夾中,這裡還需要將原始檔中的#include改為#include"printer.h"

生成專案,通過!

7新增乙個名為client的win32控制台應用程式的空白專案。

在屬性頁配置屬性->鏈結器->輸入->附加依賴項加加入iced.lib和iceutild.lib

在屬性頁的通用屬性->框架和應用中新增新應用選擇ice,為專案的原始檔資料夾下新增名為client.cpp的原始檔。內容為:

#include

#include "../ice/printer.h"

using namespace std;

using namespace demo;

int main(int argc, char * argv)

catch (const ice::exception & ex) 

catch (const char * msg) 

if (ic) ic->destroy();

return status;

}編譯,通過!

3建立名為server的空白win32控制台程式。

在屬性頁配置屬性->鏈結器->輸入->附加依賴項加加入iced.lib和iceutild.lib

在屬性頁的通用屬性->框架和應用中新增新應用選擇ice,為專案的原始檔資料夾下新增名為server.cpp的原始檔。內容為:

編譯,通過。

4在專案資料夾下的debug目錄下先執行server.exe,再執行client.exe。

執行是提示少3個dll檔案ice34d.dll、iceutil34d.dll、和bzip2d.dll,從ice目錄下找到並複製過去,注意要複製對應vs2010的vc100目錄下的dll檔案。

先執行server.exe,再執行client.exe,在server端出現了helloworld,成功!

ICE 開發過程

對於ice開發,網上相關的文章還不是很多,於是我在這把我首次跑通ice的過程寫下來跟大家分享下 網上針對這個 很多,所以我就不再贅述了。基本步驟如下 ice開發過程 1 先寫.ice檔案,裡面是寫明介面。即要實現的函式名稱 2 編譯.ice檔案,則會生成.cpp h檔案 使用slice2cpp ic...

linux下使用ICE開發

首先需要編譯安裝ice所需要的第三方元件 source code for third party software thirdparty sources 3.2.0.tar.gz,解壓後包括如下四 部分 1 安裝bzip2 cd bzip2 version 注 version為軟體版本,如cd bz...

ICE開發分布式程式

ice是zeroc公司開發的一款簡單高效的開源中介軟體平台,通過它可以快速地開發出高效 強壯 優雅的分布式的軟體。ice是zeroc公司開發的一款高效的開源中介軟體平台,全稱是internet communications engine。它的主要設計目標是 提供適用於異種環境的物件導向中介軟體平台。...