久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > SOAP嵌入式(shi)linux下的應用(一)

SOAP嵌入式linux下的應用(一(yi)) 時間:2018-09-21      來源:未知

Simple Object Access Protocol(SOAP)簡單(dan)對象(xiang)訪問協(xie)議(yi),是(shi)交換數據的(de)(de)一(yi)種(zhong)協(xie)議(yi)規范,是(shi)一(yi)種(zhong)輕量(liang)的(de)(de)、簡單(dan)的(de)(de)、基(ji)于XML(標(biao)準(zhun)通用標(biao)記語言下的(de)(de)一(yi)個子集)的(de)(de)協(xie)議(yi),它被設計成在WEB上交換結構化的(de)(de)和(he)固化的(de)(de)信息。

這里介紹soap嵌入式linux下(xia)的使用(yong)。

一、gSOAP

選擇(ze)gSOAP的原因:

gSOAP編譯工具提供了(le)一(yi)個(ge)SOAP/XML 關(guan)于(yu)C/C++ 語(yu)言的(de)實現(xian),從(cong)而讓C/C++語(yu)言開發web服(fu)務(wu)或客(ke)戶(hu)(hu)端程(cheng)序的(de)工作變得輕松了(le)很多。絕大多數(shu)的(de)C++web服(fu)務(wu)工具包提供一(yi)組API函數(shu)類(lei)庫(ku)來處(chu)理特(te)定(ding)的(de)SOAP數(shu)據結(jie)構(gou),這樣就使得用戶(hu)(hu)必須改(gai)變程(cheng)序結(jie)構(gou)來適應相關(guan)的(de)類(lei)庫(ku)。與之相反,gSOAP利用編譯器技術提供了(le)一(yi)組透明化(hua)的(de)SOAP API,并將與開發無關(guan)的(de)SOAP實現(xian)細(xi)節相關(guan)的(de)內容對用戶(hu)(hu)隱藏起來。

可移(yi)植性:gSOAP支持(chi)大多 數平臺,包括嵌入式系(xi)(xi)統(tong)(tong)和小系(xi)(xi)統(tong)(tong)(例如嵌入式Symbian,Palm)。可移(yi)植性測試Windows(98,XP,Vista),Linux,Unix 系(xi)(xi)統(tong)(tong),Mac OS X,Solaris,HP-UX,AIX,FreeBSD,TRU64,Irix,QNX,VxWorks。

二(er)、gSOAP的移植

1、下載源碼

//sourceforge.net/projects/gsoap2/files/

//jaist.dl.sourceforge.net/project/gsoap2/gSOAP/gsoap_2.8.24r.zip

本(ben)例下載版(ban)本(ben)為:gsoap_2.8.24r.zip

2、解壓源碼

$ unzip gsoap_2.8.24r.zip

3、編譯x86 平臺下工具

配置源碼

$ ./configure --prefix=/home/linux/gsoap/gsopa-x86

配置一些特性,比如目(mu)標平臺安裝路徑等,如上配置目(mu)標平臺為x86架構,安裝路徑為/home/linux/gsoap/gsoap-x86

編譯源碼

$ make

安裝源(yuan)碼到/home/linux/gsoap/gsoap-x86目錄(lu)

$ make install

4、編譯arm平臺(tai)工具

./configure --prefix=/home/linux/gsoap/gsopa-arm --host=arm-linux

再次(ci)配置源(yuan)碼,這次(ci)配置目(mu)標平臺變為arm-linux

修改源碼,根據編譯錯誤提示進行適當修改:

修改源碼目(mu)錄下(xia)的(de)config.h

注釋掉:

#define malloc rpl_malloc

soapcpp和(he)wsdl2h在(zai)編(bian)譯(yi)(yi)過程(cheng)中會(hui)生成(cheng)同事這兩個工具也(ye)(ye)在(zai)編(bian)譯(yi)(yi)時會(hui)被(bei)用(yong)來生成(cheng)一些特(te)定的文(wen)(wen)件,所(suo)以(yi)如(ru)果soapcpp和(he)wsdl2h如(ru)果被(bei)編(bian)譯(yi)(yi)成(cheng)arm架(jia)構則無法在(zai)PC上(shang)執行(xing),也(ye)(ye)就意味(wei)著接下的編(bian)譯(yi)(yi)無法完(wan)成(cheng),所(suo)以(yi)這里(li)選擇(ze)不編(bian)譯(yi)(yi)這兩個文(wen)(wen)件,而選擇(ze)使用(yong)上(shang)節編(bian)譯(yi)(yi)所(suo)生產的x86架(jia)構的對應(ying)文(wen)(wen)件。

修改gsoap/src/Makefile

注釋掉

soapcpp2$(EXEEXT): $(soapcpp2_OBJECTS) $(soapcpp2_DEPENDENCIES) $(EXTRA_soapcpp2_DEPENDENCIES)

@rm -f soapcpp2$(EXEEXT)

$(AM_V_CCLD)$(soapcpp2_LINK) $(soapcpp2_OBJECTS) $(soapcpp2_LDADD) $(LIBS)

修改gsoap/wsdl/Makefile

wsdl2h$(EXEEXT): $(wsdl2h_OBJECTS) $(wsdl2h_DEPENDENCIES) $(EXTRA_wsdl2h_DEPENDENCIES)

@rm -f wsdl2h$(EXEEXT)

$(AM_V_CXXLD)$(wsdl2h_LINK) $(wsdl2h_OBJECTS) $(wsdl2h_LDADD) $(LIBS)

拷(kao)貝x86架構下(xia)的soapcpp和wsdl2h到(dao)工程源碼目錄下(xia):

$ cp /home/linux/gsoap/gsoap-x86/bin/soapcpp2 /home/linux/gsoap/gsoap-2.8/gsoap/src/

$ cp /home/linux/gsoap/gsoap-x86/bin/wsdl2h /home/linux/gsoap/gsoap-2.8/gsoap/wsdl/

編譯

$ make

安裝

make install

上一篇:Fragment與activity間的通信

下一篇:Genymotion使用說明

熱(re)點文(wen)章推薦
華清學員就業(ye)榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽(qia)談專線:010-82525379 院校(xiao)合作洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部