Мое требование - предоставить файл общей памяти между 32-битными и 64-битными процессами. Этот файл может быть создан любым из процессов, зависит от того, кто на первом месте. - Я все еще не уверен, возможно ли это, и если да, то какие-нибудь подводные камни позже? - некоторая информация получена из google: Файлы с памятью 32-разрядные приложения могут передавать только файлы с отображением памяти, которые отображаются в 32-разрядное виртуальное адресное пространство. 64-разрядные приложения могут совместно использовать файлы с отображением памяти в 32-битном или 64-битном виртуальном адресном пространстве. Чтобы сопоставить файл в памяти, который можно использовать между 64-разрядными и 32-разрядными приложениями, ваше 64-разрядное приложение должно указывать флаг MAP_ADDR32 с флагом MAP_SHARED при вызове mmap (2). URL: http://docs.hp.com/en/5966-9844/ch02s08.html#d0e3037Обмен файлами с памятью между 32-битными и 64-битными процессами
Это означает, что для такого рода обмена файлы с отображением памяти должны быть созданы с помощью 64-битного процесса с использованием заданных флагов?
Благодаря
Было бы полезно, если вы указали, на какую платформу вы ориентируетесь. У меня такое чувство, что ответ, безусловно, не будет таким же в HP-UX и Windows 2008 R2 .... – Stephane
Вы действительно развиваетесь для HP-UX? Я думал, что он мертв (иш). – MarkR
@Stephane: добавлена mmap (специальная команда платформы), чтобы указать * nix focus. – rwong