В каком-то смысле то, что вы спрашиваете, кажется тривиальным.В другом смысле это невозможно.
Если эта область памяти представляет файл, который вы уже mmap
отредактировали, то у вас уже есть файловый дескриптор для него, так как вам нужен этот файловый дескриптор для вызова mmap
.Если вы отобразили его в режиме MAP_SHARED
, изменения в файле через дескриптор файла должны автоматически отображаться в памяти, а изменения в памяти также должны автоматически отображаться в файле.В этом весь смысл mmap
в режиме MAP_SHARED
.
Хотя, глядя на справочную страницу, возможно, вам придется вызывать msync
на некоторых системах, чтобы сделать то, что вы сделали с памятьючтобы отобразиться в файле.
Если у вас есть область памяти, которую вы приобрели, используя malloc
или аналогичные средства, а затем просто хотите, чтобы эта область памяти получила файловый дескриптор, это не так.возможно.