b> James,
b> OS/2 doesn't support memory files. However, the
b> C/Set++ compiler supports
b> memory mapped files, which are accessable via
b> fopen("File.Nam","rb+, type=memory");
The Cset++ compiler supports "memory files", and should not be confused with "memory mapped files".
A memory mapped file is accessed just like memory (via a 'char *', for example).
Cset++'s cheap <g> memory files are simply file streams (FILE *'s) that do not end up on disk (unless in swapper.dat!).
It is possible, using OS/2 exceptions, to write your own memory mapped files -- but you have to make sure the "page not present" exception does not occur in a kernel call -- which makes the whole effort almost useless (since even calling printf() could cause a page fault in DosWrite()).
Adding REAL, os/2 supplied, memory mapped files would be so easy -- I wish they would do it; I added them myself (my first 32bit OS/2 program) and they worked great on the last two OS/2 2.0 betas --- but when OS/2 2.0GA came out, they decided not to allow page faults on user buffers in kernel calls (the problem I just described above).
--
| Fidonet: Peter Fitzsimmons 1:259/414