Я столкнулся с проблемой, используя библиотеку iostreams mapped_file для boost.
документация по ускорению: mapped_file
Прочитав всю документацию и примеры, которые я смог прочитать, я все еще не могу заставить работать следующий фрагмент кода. Я предполагаю, что когда вы передаете new_file_size и путь к классу mapped_file_params, он затем открывает (и создает) файл в нужном месте, когда я вызываю конструктор mapped_file с объектом mapped_file_params в параметре. Но единственное, что он делает, это создает файл со странным именем, например, "%F8/134" в рабочем каталоге проекта, а не там, где я сказал. Может быть, я ошибаюсь, и нужно создать файл, прежде чем указывать его в mapped_file? После прочтения документа я предположил, что он создает новый файл, когда вы заполняете параметр new_file_size. и указывает имя файла.
Кто-нибудь испытывал это раньше? Любые советы о том, как решить эту проблему?
Вот код:
boost::iostreams::mapped_file_params param(filename); // filename is a std::string with the correct path
param.flags = boost::iostreams::mapped_file::mapmode::readwrite;
param.new_file_size = sizeNeeded; // sizeNeeded is the size of the data
param.length = sizeNeeded;
boost::iostreams::mapped_file fileMap(param); // at this point the file is created
…
Спасибо за ваше время,
Александр