Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 把Linux下的http client库移植到windows系统下

今天因为工作需要把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。  就这么简单,开心啊!可能漏掉一些细节部分,不过基本会写程序的都应该能解决。Ubuntu7.10下3D超酷桌面Compiz Fusion的安装及常见问题解决(图)红旗Linux6.0桌面版下安装wine相关资讯      Linux Windows 
  • Linux生存指南:这21款应用程序让  (今 15:47)
  • Linux终于足够好,可以取代Windows  (07月19日)
  • 慕尼黑市政府花巨资淘汰XP,换  (01月21日)
  • Linux取代Windows?目前还不是  (今 07:25)
  • 2016年,Linux仍需要Windows的支持  (03月02日)
  • OS 2016趋势分析,Linux 和   (01月10日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数