【发布时间】:2010-03-29 12:53:01
【问题描述】:
是否有相当于linux头文件的Win32?我正在使用 Linux 到 Windows 的端口(也是我第一次这样做),但在这个文件上失败了。
【问题讨论】:
-
MinGW 确实提供了一个
,尽管它本质上只是指向 ...
标签: linux winapi port header-files
是否有相当于linux头文件的Win32?我正在使用 Linux 到 Windows 的端口(也是我第一次这样做),但在这个文件上失败了。
【问题讨论】:
标签: linux winapi port header-files
为了后代的利益,<sys/file.h> 是低级文件 I/O 例程的 BSD 版本。根据您的编译器安装和构建环境,您可能需要<fcntl.h>。大多数常见的 I/O 例程都在 <stdio.h> 中,甚至在 setvbuf() 中,这是相当低级的控制。如果您想要在 Linux(或其他 *NICES)下通常不存在的 I/O 例程/设置,您将需要 <windows.h> 或 <conio.h>。
【讨论】:
如果您要移植到 Windows,那么坚持跨平台标准要比直接使用原生 Windows API 端口(CreateFile 等)容易得多。
我不知道<sys/file.h> 中有什么功能,它看起来像是 POSIX 标准头文件的一部分,但我在 posix 源代码中找不到对它的引用。
您可以使用一些构建环境将 posix 应用程序移植到 Windows。
【讨论】:
在编写 WIN32API 应用程序时,您通常会#include <windows.h> - 这包括您应用程序中的大部分 Windows API。如果您需要减少其中的一些包含,#define WIN32_LEAN_AND_MEAN 将从 Windows 库中删除一些更晦涩的内容。
您要转换哪些函数?这可能是在 WIN32 上使用不同功能的情况;它与 Linux/Unix/POSIX 非常不同。
示例:ReadFile() 函数大致相当于read(),但调用签名有很大不同。 ReadFile() 的 MSDN 条目说:
头文件:WinBase.h(包括 Windows.h)
【讨论】: