MinGW 可以毫不费力地复制大多数 unix 系统调用吗?
Can MinGW replicate most unix system calls with no effort?
背景:我正在移植一个专门为 unix 系统用 C++ 开发的大型项目,以便与 windows 兼容,从而为最终的 windows 分发让路。我在 Windows 开发方面没有太多经验,但我想在高级开发人员进入并接手之前尽我所能,把事情做好。
问题:一段时间以来,我一直在查找软件中使用的所有 unix/posix 调用的 Windows 版本,大部分来自 dirent.h,unistd.h,还有一些在 sys 下,比如 sys/stat.h 或 sys/types.h。尽管修改程序以采用新的 Win32 API 调用约定和 return 类型(有时是所有新函数)需要大量工作,但它最终可能会起作用。
但我经常看到这种情况出现,事实上 MinGW,我猜,包括许多本地 unix 调用和功能作为 GCC 环境的一部分,并且可以将它们转换成 windows-compatible调用,以便您可以在 Windows 上编译,并在 Windows 上轻松使用所述编译程序。事实上,我在边栏中读到的类似问题之一就是谈到了这一点。我不明白,而且似乎很难理解,正是这个内置翻译功能的范围,以及我在哪里可以找到一个系统列表,可以使用它。
抱歉,这个 post 有点松散,我对此很陌生,但在我与高级开发人员交换之前,我只有 2 周的时间来尝试完成一些事情。
没有。 MinGW 不会尝试在 Windows 上实现 UNIX 功能。它无法毫不费力地复制大多数系统调用。
但是,Cygwin 确实做到了。
背景:我正在移植一个专门为 unix 系统用 C++ 开发的大型项目,以便与 windows 兼容,从而为最终的 windows 分发让路。我在 Windows 开发方面没有太多经验,但我想在高级开发人员进入并接手之前尽我所能,把事情做好。
问题:一段时间以来,我一直在查找软件中使用的所有 unix/posix 调用的 Windows 版本,大部分来自 dirent.h,unistd.h,还有一些在 sys 下,比如 sys/stat.h 或 sys/types.h。尽管修改程序以采用新的 Win32 API 调用约定和 return 类型(有时是所有新函数)需要大量工作,但它最终可能会起作用。
但我经常看到这种情况出现,事实上 MinGW,我猜,包括许多本地 unix 调用和功能作为 GCC 环境的一部分,并且可以将它们转换成 windows-compatible调用,以便您可以在 Windows 上编译,并在 Windows 上轻松使用所述编译程序。事实上,我在边栏中读到的类似问题之一就是谈到了这一点。我不明白,而且似乎很难理解,正是这个内置翻译功能的范围,以及我在哪里可以找到一个系统列表,可以使用它。
抱歉,这个 post 有点松散,我对此很陌生,但在我与高级开发人员交换之前,我只有 2 周的时间来尝试完成一些事情。
没有。 MinGW 不会尝试在 Windows 上实现 UNIX 功能。它无法毫不费力地复制大多数系统调用。
但是,Cygwin 确实做到了。