Click here to Skip to main content
15,916,042 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Generalcout << flush not working in my class that inherits from fstream Pin
mflores8825-Mar-03 10:28
mflores8825-Mar-03 10:28 
GeneralRe: cout << flush not working in my class that inherits from fstream Pin
Dave Bryant25-Mar-03 11:12
Dave Bryant25-Mar-03 11:12 
GeneralRe: cout << flush not working in my class that inherits from fstream Pin
mflores8826-Mar-03 5:15
mflores8826-Mar-03 5:15 
GeneralPbm with CDhtmlDialog Pin
RaajaOfSelf25-Mar-03 9:14
RaajaOfSelf25-Mar-03 9:14 
GeneralRe: Pbm with CDhtmlDialog Pin
RaajaOfSelf25-Mar-03 9:25
RaajaOfSelf25-Mar-03 9:25 
GeneralShared Memory Allocator for vc++ / Win32 Pin
CLM25-Mar-03 8:29
CLM25-Mar-03 8:29 
GeneralRe: Shared Memory Allocator for vc++ / Win32 Pin
Neville Franks25-Mar-03 10:01
Neville Franks25-Mar-03 10:01 
GeneralRe: Shared Memory Allocator for vc++ / Win32 Pin
CLM25-Mar-03 12:03
CLM25-Mar-03 12:03 
Hi Neville -

Thanks for your thoughts here -- your experience w/MMF is exactly what I wanted to hear (I read the specs on the relevant API calls from books and MSDN). It sounds like MapViewOfFile is out of the question for what I want to do, as I suspected.

Here is the reason why (ideally) the same address would be returned by MapViewOfFile in different processes:

Consider constructing a list<int> object in shared memory. The process that populates the (doubly linked) list creates nodes with pointers embedded in each node(*). These pointers are valid only in the process which created the list if the MVOF() return value differs between processes. So when a second process attaches to shared memory and accesses the linked list, it will immediately GPF (if we're lucky).

So I need the base address to be the same in different processes if I follow the type of solution in that CUJ article. In this implementation, the entire container is constructed in shared memory using a custom allocator, which manages a free list ('Chunks').

Of course, a workaround would be to add a level of indirection in the STL container implementations, so that offsets from a base pointer, not pointers, are cached. (MapViewOfFile return value is the base).

I'd be interested in any references to MMF articles you know -- feel free to email me, thank you very much.

-- Chris

(*) True for the VC6.0 and 7.0 STL implementations, at least.
GeneralRe: Shared Memory Allocator for vc++ / Win32 Pin
Neville Franks26-Mar-03 0:45
Neville Franks26-Mar-03 0:45 
GeneralRe: Shared Memory Allocator for vc++ / Win32 Pin
CLM26-Mar-03 15:56
CLM26-Mar-03 15:56 
QuestionHow to get pointer of outer class inside an inner class Pin
Anonymous25-Mar-03 8:17
Anonymous25-Mar-03 8:17 
AnswerRe: How to get pointer of outer class inside an inner class Pin
Tim Smith25-Mar-03 8:21
Tim Smith25-Mar-03 8:21 
GeneralRe: How to get pointer of outer class inside an inner class Pin
Anonymous25-Mar-03 8:31
Anonymous25-Mar-03 8:31 
GeneralRe: How to get pointer of outer class inside an inner class Pin
Tim Smith25-Mar-03 8:48
Tim Smith25-Mar-03 8:48 
QuestionHow to copy a large amount of data? Pin
Jakob Bysewski25-Mar-03 8:08
Jakob Bysewski25-Mar-03 8:08 
AnswerRe: How to copy a large amount of data? Pin
Tim Smith25-Mar-03 8:19
Tim Smith25-Mar-03 8:19 
GeneralRe: How to copy a large amount of data? Pin
Jakob Bysewski25-Mar-03 8:26
Jakob Bysewski25-Mar-03 8:26 
GeneralRe: How to copy a large amount of data? Pin
Tim Smith25-Mar-03 8:50
Tim Smith25-Mar-03 8:50 
GeneralRe: How to copy a large amount of data? Pin
Jakob Bysewski25-Mar-03 9:33
Jakob Bysewski25-Mar-03 9:33 
AnswerRe: How to copy a large amount of data? Pin
Daniel Turini25-Mar-03 8:45
Daniel Turini25-Mar-03 8:45 
GeneralPosition of items in a CListCtrl Pin
Kuniva25-Mar-03 8:07
Kuniva25-Mar-03 8:07 
QuestionHow to implement OpenGL in MDI? Pin
uNsignedINT25-Mar-03 7:45
uNsignedINT25-Mar-03 7:45 
GeneralNew Document MDI Pin
rahulv25-Mar-03 5:43
rahulv25-Mar-03 5:43 
GeneralRe: New Document MDI Pin
Neville Franks25-Mar-03 10:07
Neville Franks25-Mar-03 10:07 
GeneralSimple Dialog Box in SDI--- HELP!!!! Pin
uNsignedINT25-Mar-03 5:41
uNsignedINT25-Mar-03 5:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.