您的位置:首页 > 运维架构 > Linux

windows到Linux代码移植遇到的问题

2007-10-11 15:21 681 查看
下一篇:linxu下的多线程问题1、一些常用函数的移植
http://www.vckbase.com/document/viewdoc/?id=1586
2、网络 ------ 转载 & 修改(待整理)socket相关程序从windows移植到linux下需要注意的1)头文件windows下winsock.h/winsock2.hlinux下sys/socket.h错误处理:errno.h2)初始化windows下需要用WSAStartuplinux下不需要3)关闭socketwindows下closesocket(...)linux下close(...)4)类型windows下SOCKETlinux下int如我用到的一些宏:
#ifdef WIN32

typedef int socklen_t;

typedef int ssize_t;

#endif

#ifdef __LINUX__

typedef int SOCKET;

typedef unsigned char BYTE;

typedef unsigned long DWORD;

#define FALSE 0

#define SOCKET_ERROR (-1)

#endif
5)获取错误码windows下getlasterror()/WSAGetLastError()linux下errno变量6)设置非阻塞windows下ioctlsocket()linux下fcntl() <fcntl.h>7)send函数最后一个参数windows下一般设置为0linux下最好设置为MSG_NOSIGNAL,如果不设置,在发送出错后有可 能会导致程序退出。8)毫秒级时间获取windows下GetTickCount()linux下gettimeofday()3、多线程多线程: (win)process.h --〉(linux)pthread.h_beginthread --> pthread_create_endthread -->
pthread_exit

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: