我发现这三个函数都与打开文件有关。
打开:
此 POSIX 函数已弃用。请改用符合 ISO C++ 标准的 _open。
_打开:
打开一个文件。这些函数已被弃用,因为有更安全的版本可用;参见 _sopen_s、_wsopen_s。
打开:
打开一个文件。这些函数有更安全的版本,可以执行额外的参数验证并返回错误代码;参见 fopen_s、_wfopen_s。
那么,为什么是他们三个呢?什么时候用哪个?我认为 POSIX 很好,但为什么 MSDN 说 POSIX 版本open已弃用?是否有与前导下划线相关的命名约定,以便我可以根据第一眼的外观选择正确的函数?
当我查看ACPICA 代码时,我看到下面的代码: 似乎该_XXX版本可以禁用某些MS 语言扩展,这些扩展到底是什么?
/*
* Map low I/O functions for MS. This allows us to disable MS language
* extensions for maximum portability.
*/
#define open _open
#define read _read
#define write _write
#define close _close
#define stat _stat
#define fstat _fstat
#define …Run Code Online (Sandbox Code Playgroud)