国产探花免费观看_亚洲丰满少妇自慰呻吟_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。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原阳县| 嘉定区| 治多县| 东乌珠穆沁旗| 滕州市| 博兴县| 涿鹿县| 南澳县| 县级市| 永靖县| 手游| 宁河县| 渑池县| 嘉禾县| 重庆市| 余姚市| 漾濞| 襄汾县| 潜山县| 凤城市| 汝城县| 卢龙县| 大冶市| 吕梁市| 荣成市| 尼勒克县| 年辖:市辖区| 焦作市| 聊城市| 新晃| 大宁县| 景德镇市| 邻水| 石渠县| 绥江县| 乌兰浩特市| 无锡市| 托克逊县| 邻水| 炉霍县| 河西区|