国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

把Linux下的http client庫移植到windows系統下

2024-08-28 00:14:12
字體:
來源:轉載
供稿:網友

今天因為工作需要把linux下面的一個http client庫移植到了windows系統下,沒想到如此簡單。

 我改的庫是libghttp,如下是我的改寫步驟:

首先建立一個空的控制臺程序,然后把所有的源代碼包含進來,編譯。

編譯會報告找不到頭文件,直接把找不到的頭文件去掉,其中有幾個網絡相關的頭文件去掉之后會報告程序編譯錯誤,把WinSock2.h包含進來就可以編譯通過了。別的還有就是strcasecmp了,使用strcmp替代即可,當然有心情的話也可以自己寫一個函數替代。

不出意外的話編譯就會通過了,鏈接會出現問題。這里讓人有點暈,其實直接把Ws2_32.lib連接進來即可,這個不是默認鏈接的lib。

寫個測試程序,按照ghttp.h里面的接口函數,很快就可以構建起來一個http client,程序怎么寫就不說了。編譯連接,開始調試。

調試第一個碰到的問題就是gethostbyname返回錯誤,折磨了我一陣;上網找資料,呵呵,沒有添加socket初始化調用,程序開始加上WSAStartup,結束加上WSACleanup,解決一個。

繼續調試,write報告問題,大家都知道linux下網絡發送數據使用和文件操作一樣的方式,但是windows不一樣,使用send替換掉write,send多一個參數,填個0即可。

再下來出現的問題大家也許就可以猜到了,有write錯,就一定有read錯,替換成recv,同樣給多的一個參數填0;再就是close了,替換成closesocket。

 就這么簡單,開心啊!可能漏掉一些細節部分,不過基本會寫程序的都應該能解決。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 寻乌县| 谷城县| 洮南市| 安宁市| 松溪县| 康定县| 鄂温| 织金县| 通化市| 新田县| 河北区| 汉沽区| 孟村| 荆门市| 宝应县| 武安市| 西藏| 彝良县| 炎陵县| 东乌珠穆沁旗| 红原县| 中方县| 静宁县| 长治县| 新龙县| 东光县| 灌南县| 纳雍县| 双柏县| 宣汉县| 香港| 承德市| 广河县| 若尔盖县| 运城市| 长治县| 修文县| 毕节市| 南江县| 株洲市| 齐河县|