使用 MsDev 将 linux 套接字应用程序移植到 Windows

Posted

技术标签:

【中文标题】使用 MsDev 将 linux 套接字应用程序移植到 Windows【英文标题】:Porting linux socket application to windows usins MsDev 【发布时间】:2009-11-20 17:17:24 【问题描述】:

是否有可用于编译 linux 套接字应用程序的公开可用的头文件(使用 socket/udp/ip 头文件)。他们应该定义像 sa_family_t,in_port_t 这样的结构

强制是使用 Msdev 而不是 cygwin/gcc 或 mingw 编译器。

【问题讨论】:

【参考方案1】:

您可以使用标准 Win32 API 中的 winsock.h 或 winsock2.h 中声明的结构和函数。与标准 BSD 实现存在一些差异,但对于简单的基于套接字的应用程序,端口应该相对简单。

【讨论】:

我不知道...似乎有很多东西需要重新定义,例如 struct ip、struct udphdr、sa_family_tin_port_t ...它们在 win32 中都丢失了。可能应用程序毕竟不是那么简单。 您将遇到的主要问题是 Windows select 调用仅适用于套接字,而 UNIX 应用程序通常依赖于能够将其他文件描述符传递给 select【参考方案2】:

据我所知,没有简单的方法可以做到这一点。 Windows 提供了一组与 linux 完全不同的系统调用,以及处理套接字的不同方法。

【讨论】:

以上是关于使用 MsDev 将 linux 套接字应用程序移植到 Windows的主要内容,如果未能解决你的问题,请参考以下文章

请提供“\msdev\include”目录的位置。去下载

vc 6.0的安装问题

怎么通过在命令提示符下输入:Msdev /useenv运行

vc++6.0一打开就出现MSDEV.EXE应用程序错误,无法正常启动0xc0000142

如何将linux文件夹里的文件移到其他文件夹?

C++ 代码在 msdev 6.0 中运行良好,在 Visual Studio 2010 中崩溃