Здравствуйте, 0xDEADBEEF, Вы писали:
DEA>Здравствуйте, Аноним, Вы писали:
А>>В "общую" секцию хочу положить std:map и теоретически все вроде должно заработать,
DEA>Не должно это заработать. Ни теоретически ни, уж тем более практически.
DEA>Смотри почему:
DEA>1) В разных процессах шареная секция может размещаться оп совершенно разным адресам.
Цитата из MSDN:
http://msdn.microsoft.com/en-us/library/h90dkhs0(v=vs.80).aspx
Win32 DLLs are mapped into the address space of the calling process. By default, each process using a DLL has its own instance of all the DLLs global and static variables. If your DLL needs to share data with other instances of it loaded by other applications, you can use either of the following approaches:
Create named data sections using the data_seg pragma.
Use memory mapped files. See the Win32 documentation about memory mapped files.
То есть (по крайней мере в теории должно)
DEA>2) std:map по сути это дерево, узлы которого расположени на фристоре. А фристор у каждого процесса свой