gsoap的編繹和移植

2021-05-23 16:25:43 字數 1212 閱讀 8056

基於webservice協義,實現乙個簡單的天氣預報

6 編寫makefile

7 make , 執行程式

如果一切正常的話會出現有關天氣的資訊。

#./weather

get weather ok !

i(0), string((null))

i(1), string(北京)

i(2), string(晴)

i(3), string(7 ~ -4 ℃)

i(4), string(北風4-5級轉微風)

i(5), string(今天)

i(6), string(http://www.ayandy.com/images/晴.gif)

i(7), string((null))

常見問題:

1 程式編繹通過,但是執行./weather是失敗,列印soap_call___ns3__getweatherbycityname failed

答:可能是你的linux主機的網路有問題,試試ping 一下其它網路位址http://www.ayandy.com是否成功。

如何失敗,則可能的原因有:一, 網路沒有連線到公網 二  dns 沒有設定。

2 我執行./weather後出現的列印為亂碼,如下

get weather ok !

i(0), string((null))

i(1), string(?漪)

i(2), string(??

i(3), string(7 ~ -4 ??

i(4), string(??4-5蝥扯蓮敺桅?)

i(5), string(隞予)

答:這種情況是編碼格式不正確,伺服器返回的是utf-8的字元品, 所以要求你的終端的設定的編碼格式也為utf-8.

(pietty的設定方法,option->encoding->unicode utf-8)

3 修改makefile 交叉編繹無法通過,出現列印stdsoap2.c:(.text+0x1b04c): undefined reference to `isnan'的錯誤。

答:將stdsoap.h裡1067行 #  define soap_isnan(n) isnan(0) 修改為 #  define soap_isnan(n) (0)

C 的靜態聯編和動態聯編技術

聯編是指乙個電腦程式自身彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法 靜態聯編和動態聯編。靜態聯編 靜態聯編是指聯編工作出現在編譯連線階段,這種聯編又稱早期聯編,因為這種聯編過程是在程式開始執行之前完成的。在編譯時所進行的這種聯編又稱靜態束定。在編譯時就解決了程式中的操作呼叫與...

linux下的shell 和python編寫

第一句即指定指令碼直譯器 bin bash usr bin env python3或 which python3的哪個 usr bin python3 執行兩種方法 第一種編寫完 直接bash s.sh python3 s.py 第二種賦加x chmod a x s.sh chmod 777 s.p...

C 的多型性以及靜態聯編和動態聯編

首先要介紹一下c 的多型性 多型性可以簡單地概括為 乙個介面,多種方法 程式在執行時才決定呼叫的函式,它是物件導向程式設計領域的核心概念。多型 polymorphisn 字面意思多種形狀。c 多型性是通過虛函式來實現的,虛函式允許子類重新定義成員函式,而子類重新定義父類的做法稱為覆蓋 overrid...