久久精品国产清自在天天线_日韩国产欧美系列_亚洲天堂影视在线观看_91在线艹亚洲无码午夜_日本写真高清视频免费网站网_亚州无码大尺度另类_高跟翘臀老师后进式视频午夜_久久精品国产亚洲AV热黑人_国产另ts另类人妖_丁香五月 开心五月 激情五月

當(dāng)前位置:首頁(yè) > 學(xué)習(xí)資源 > 講師博文 > SOAP嵌入式linux下的應(yīng)用(一)

SOAP嵌入式linux下的應(yīng)用(一) 時(shí)間:2018-10-28      來(lái)源:華清遠(yuǎn)見(jiàn)

Simple Object Access Protocol(SOAP)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡(jiǎn)單的、基于XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)的協(xié)議,它被設(shè)計(jì)成在WEB上交換結(jié)構(gòu)化的和固化的信息。

這里介紹soap嵌入式linux下的使用。

一、gSOAP

選擇gSOAP的原因:

gSOAP編譯工具提供了一個(gè)SOAP/XML 關(guān)于C/C++ 語(yǔ)言的實(shí)現(xiàn),從而讓C/C++語(yǔ)言開(kāi)發(fā)web服務(wù)或客戶端程序的工作變得輕松了很多。絕大多數(shù)的C++web服務(wù)工具包提供一組API函數(shù)類庫(kù)來(lái)處理特定的SOAP數(shù)據(jù)結(jié)構(gòu),這樣就使得用戶必須改變程序結(jié)構(gòu)來(lái)適應(yīng)相關(guān)的類庫(kù)。與之相反,gSOAP利用編譯器技術(shù)提供了一組透明化的SOAP API,并將與開(kāi)發(fā)無(wú)關(guān)的SOAP實(shí)現(xiàn)細(xì)節(jié)相關(guān)的內(nèi)容對(duì)用戶隱藏起來(lái)。

可移植性:gSOAP支持大多 數(shù)平臺(tái),包括嵌入式系統(tǒng)和小系統(tǒng)(例如嵌入式Symbian,Palm)。可移植性測(cè)試Windows(98,XP,Vista),Linux,Unix 系統(tǒng),Mac OS X,Solaris,HP-UX,AIX,F(xiàn)reeBSD,TRU64,Irix,QNX,VxWorks。

二、gSOAP的移植

1、下載源碼

http://sourceforge.net/projects/gsoap2/files/

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

本例下載版本為:gsoap_2.8.24r.zip

2、解壓源碼

$ unzip gsoap_2.8.24r.zip

3、編譯x86 平臺(tái)下工具

配置源碼

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

配置一些特性,比如目標(biāo)平臺(tái)安裝路徑等,如上配置目標(biāo)平臺(tái)為x86架構(gòu),安裝路徑為/home/linux/gsoap/gsoap-x86

編譯源碼

$ make

安裝源碼到/home/linux/gsoap/gsoap-x86目錄

$ make install

4、編譯arm平臺(tái)工具

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

再次配置源碼,這次配置目標(biāo)平臺(tái)變?yōu)閍rm-linux

修改源碼,根據(jù)編譯錯(cuò)誤提示進(jìn)行適當(dāng)修改:

修改源碼目錄下的config.h

注釋掉:

#define malloc rpl_malloc

soapcpp和wsdl2h在編譯過(guò)程中會(huì)生成同事這兩個(gè)工具也在編譯時(shí)會(huì)被用來(lái)生成一些特定的文件,所以如果soapcpp和wsdl2h如果被編譯成arm架構(gòu)則無(wú)法在PC上執(zhí)行,也就意味著接下的編譯無(wú)法完成,所以這里選擇不編譯這兩個(gè)文件,而選擇使用上節(jié)編譯所生產(chǎn)的x86架構(gòu)的對(duì)應(yīng)文件。

修改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)

拷貝x86架構(gòu)下的soapcpp和wsdl2h到工程源碼目錄下:

$ 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使用說(shuō)明

戳我查看嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見(jiàn)高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見(jiàn)科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部