这段代码什么意思?cpp from mongodb
void* MemoryMappedFile::map(const char *filename) {unsigned long long l;
try {
l = boost::filesystem::file_size( filename );
}
catch(boost::filesystem::filesystem_error& e) {
uasserted(15922, str::stream() << "couldn't get file length when opening mapping " << filename << ' ' << e.what() );
}
return map( filename , l );
}
获得大小以后,调用 map(filename,l) , 这个map 又做了什么? 肯定是重载了map呗
我猜,另一个map原型是 void* map( 文件名,长度 );
这个map原型是 void* map( 文件名 ); 也就是用户不指定长度时,以整个文件的长度为第一个map函数的第二个参数
页:
[1]