关于windows下C++程序移植到linux下的一些头文件对应问题

在windows下C++程序包含了个winsock2.h头文件那么我移植到linux下有没有什么头文件与之相对应的如果没有该怎么改... 在windows下 C++程序包含了个winsock2.h头文件 那么我移植到linux下有没有什么头文件与之相对应的 如果没有 该怎么改 展开
 我来答
匿名用户
2014-03-05
展开全部

必须要封装osa适配层了,两者有些API有差异,靠单纯的换头文件搞不定。

比如你想同时在linux和windows上使用stat这个函数,同样是包含#include<sys/stat.h>,但是stat的结构体根本就不一样。

linux版本:

typedef struct stat

{

 unsigned long st_dev;  /* device ID number */

     unsigned long st_ino;  /* file serial number */

     unsigned short st_mode; /* file mode (see below) */

     short st_nlink; /* number of links to file */

     short st_uid;  /* user ID of file's owner */

     short st_gid;  /* group ID of file's group */

     unsigned long st_rdev; /* device ID, only if special file */

     unsigned long st_size; /* size of file, in bytes */

     unsigned long st_atime; /* time of last access */

     unsigned long st_mtime; /* time of last modification */

     unsigned long st_ctime; /* time of last change of file status */

     long st_blksize;

     long st_blocks;

     unsigned int st_attrib; /* file attribute byte (dosFs only) */

}stat_type;

windows版本:

struct stat {

        _dev_t     st_dev;

        _ino_t     st_ino;

        unsigned short st_mode;

        short      st_nlink;

        short      st_uid;

        short      st_gid;

        _dev_t     st_rdev;

        _off_t     st_size;

        time_t st_atime;

        time_t st_mtime;

        time_t st_ctime;

        };
春误双卿
2014-03-05 · TA获得超过725个赞
知道小有建树答主
回答量:580
采纳率:91%
帮助的人:456万
展开全部
与这几个头文件对应
#include<sys/socket.h>
#include<arpa/inet.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
但是函数调用方式要注意,有变化
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d3d7ee0a
2014-03-05 · TA获得超过142个赞
知道答主
回答量:69
采纳率:0%
帮助的人:17.8万
展开全部
在linux下, 最好还是用到函数时去man下,了解使用方法、参数,返回值等,然后在自己实现的code里添加相应的头文件即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式