今天,我偶然发现了有关Visual C++的C运行时的MSDN文档(示例:http://msdn.microsoft.com/en-us/library/8syseb29.aspx),令我惊讶的是,很多功能看起来像POSIX syscall:dup2fdopenstatexeclp,...,除了以_或前缀为前缀_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/

10-14 09:33