c - MSVC 的 C 运行时中有哪些类似 POSIX 的函数?

标签 c visual-studio winapi visual-c++

今天我偶然发现了 MSDN 关于 Visual C++ 的 C 运行时的文档(示例:http://msdn.microsoft.com/en-us/library/8syseb29.aspx),令我惊讶的是发现很多函数看起来就像 POSIX 系统调用:dup2fdopen , stat, execlp, ..., 除了以 __w 为前缀。这些函数只是 Windows API 的包装器吗?它们只能用于 POSIX 子系统吗?它们是否已被弃用/将被弃用?

最佳答案

这些函数是 Win32 API 的包装器。您无需拥有 POSIX 子系统即可使用它们。它们不太可能消失 - Microsoft 非常重视向后兼容性。

您可以在“\Program Files (x86)\Microsoft Visual Studio X.0\VC\crt\src”中找到MS CRT的源代码。例如。您可以看到 _dup2 正在调用 DuplicateHandle_stat 正在使用 FindFirstFileEx

至于为什么他们有下划线,我找不到官方原因,但我怀疑这可能是因为这些函数不提供完全的 POSIX 合规性。

关于c - MSVC 的 C 运行时中有哪些类似 POSIX 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23477746/

相关文章:

c - 初始化包含指向数组的指针的结构

.net - 是否应该使用 Visual Studio GUI 编辑器?

windows - DirectX 12 "Full Screen Exclusive Windows"是否强制以与 DWM 相同的刷新率运行?

c - 程序传递 if 语句并需要指向对象类型的指针

c - 在c中打开注册表项

c - 在 C 中使用 calloc 的二维数组 unsigned char 中的段错误

c# - 比较图片框中加载的图像和存储在 MySQL 中的 BLOB

visual-studio - 用于android错误的多个visual studio模拟器

c# - 使用 C# 从另一个应用程序的 SysListView32 中的数据网格读取单元格项目

c++ - 检查注册表项是否存在