Meets 发表于 2012-03-23 14:18

这段代码什么意思?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 又做了什么?

bruceteen 发表于 2012-03-23 15:20

肯定是重载了map呗
我猜,另一个map原型是 void* map( 文件名,长度 );
这个map原型是 void* map( 文件名 ); 也就是用户不指定长度时,以整个文件的长度为第一个map函数的第二个参数
页: [1]
查看完整版本: 这段代码什么意思?cpp from mongodb