【发布时间】:2018-05-16 05:03:26
【问题描述】:
例如。
fd = ::open ("/test.txt", O_RDONLY, 0);
struct stat buf;
fstat(fd, &buf);
char* addr = (char*)::mmap(NULL, buf.st_size + 10, PROT_READ, MAP_PRIVATE | MAP_POPULATE, fd, 0);
请注意,我在此处映射了 + 10。 但它仍然有效?
为什么系统不应用任何检查? 危险吗?
谢谢
【问题讨论】:
-
编辑标签。
c和c++都具有误导性 -
为什么应该这样?
-
@coderredoc mmap() 可以从 c 和 c++ 中很好地调用。
-
@JeremyFriesner.: 是的..但我不确定使用
::?这就是为什么说。
标签: c++ linux system-calls mmap