![]() |
1
2
您不应该使用
|
![]() |
2
1
POSIX甚至不要求非平凡的页面大小;理论上,一个实现的“页面”大小可以是1字节。类似地,似乎没有指定从超过文件大小的页面的剩余部分读取零。我可以想象一些被破坏的实现会泄漏这里被截断的旧文件内容,但是我会认为一个重大的安全/隐私漏洞会使这样的实现在现实世界中变得无关紧要。他们当然可以用
即使您可以假设为零填充(这可能是大多数现实世界操作系统的情况),我也会提醒您不要使用它。如果文件恰好是系统页面大小的倍数,会发生什么情况?突然你的代码读到结尾时崩溃了,或者(可能更糟)读到了一个不相关的页面,而这个页面恰好被映射到了你文件的映射附近。这是一个非常严重的bug,您可能无法捕捉到,因为拥有一个系统页面大小的精确倍数的文本文件的概率非常低。 |
![]() |
3
0
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |