- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在将一个简单的 socket
客户端程序从 Linux 迁移到 Windows (VS2012)。该程序使用常规的close
、read
和write
函数。
在 VS2012 中编译时,我收到以下警告:
warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close
warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _write
warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read
解决方案很简单 - 只需添加下划线 - 但是......
close
和 _close
、read
和 _read
、write 之间的真正区别是什么
和 _write
?
只是更改为下划线版本将保持相同的行为?
最佳答案
When compiling in VS2012, I´m getting the following warnings
哇,这些都是滑稽的误导性信息。干得好,微软。
他们似乎暗示 _close
、_read
和 _write
在某种程度上是 ISO C++ 函数。
他们不是!
What's the real difference between
close
and_close
,read
and_read
,write
and_write
?
Microsoft 显然重新实现了 POSIX 函数 close
、read
和 write
。不同之处在于,在重新实现时,他们选择用前导下划线重命名这些函数,因为 ISO C++ 标准规定前导下划线是实现(即 Visual Studio)应该用于内部/内置函数的内容。
Just changing to the underscore version will preserve the same behaviour ?
我不打算在这里列举各种潜在的差异。当然,有关这些功能如何工作以及如何使用它们的完整信息,请阅读它们的文档。不过,直接的答案是不假设其行为与同名 POSIX 函数的行为相同。
关于c++ - close vs _close, read vs _read, write vs _write - 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438732/
Java 应用程序使用 ojdbc6.jar、tomcat 7、tomcat-dbcp-8.0.3.jar(以及其他可能与此问题无关的 jar)、JDK 7 (u51) 我们已使用 v$session
我们在使用 C 和 C++ 混合编写的 Windows 应用程序的生产中遇到问题,其中 MoveFileEx 偶尔报告“该进程无法访问该文件,因为它正被另一个进程使用。”。该问题很少见,但最近我们已经
我正在尝试使用机枪设置蜜蜂,并注意到无论蜜蜂的命令如何,我都会在 paramiko 库中遇到语法错误: File "/usr/local/lib/python3.7/site-packages/par
我正在将一个简单的 socket 客户端程序从 Linux 迁移到 Windows (VS2012)。该程序使用常规的close、read 和write 函数。 在 VS2012 中编译时,我收到以下
我是一名优秀的程序员,十分优秀!