[comp.windows.ms.programmer] 32 bit applications under Windows

dank@nntp-server.caltech.edu (Daniel R. Kegel) (12/05/90)

I am trying to figure out how to write a Windows program that uses
much more than 640 kilobytes of memory, and have heard that the
DOS Extenders built in to Windows3.0 and Desqview have the same API,
which is defined in something with a name like "Virtual Control Program 
Interface".  
In the best of all possible worlds, this API would allow you to define
segments that were larger than 64 kilobytes (which would naturally only
be possible on a '386 or '486); this would allow much faster addressing.

Can anybody tell me where to get info on this standard, or any compilers 
that support it?

Please reply via e-mail to dank@moc.jpl.nasa.gov and I will summarize if
there are any useful replies.  Thanks!

mojo@netcom.UUCP (Morris Jones) (12/05/90)

dank@nntp-server.caltech.edu (Daniel R. Kegel) writes:
>I am trying to figure out how to write a Windows program that uses
>much more than 640 kilobytes of memory, and have heard that the
>DOS Extenders built in to Windows3.0 and Desqview have the same API,
>which is defined in something with a name like "Virtual Control Program 
>Interface".  

Windows uses a slightly new spec called DOS Protected Mode Interface (DPMI).

Support for allocating large chunks of memory is provided by the
WINMEM32 library.  I believe it's described  in Appendix E of the SDK
manual.  These functions allow you to allocate 32-bit segments and
allocate 16-bit pointer aliases, code aliases, and so on.

At Caere we used these functions to run OCR in native 32-bit 386 code.
The 32-bit compiler we used was Metaware High C.  The difficulty comes
in provided glue and control transfer code between the 16- and 32-bit
segments.  Codeview will not run with a 32-bit stack, so WDEB386 is
the only debugger useable, and it will not load symbols.

It's a considerable investment to make a 32-bit Windows program, so
read and consider whether or not it's necessary.

Mojo

-- 
mojo@netcom.UUCP          Site Coordinating Instructor, San Jose South
Morris "Mojo" Jones       Skilled Motorcycling And Rider Training (S.M.A.R.T.)
Campbell, CA              800-675-5559 ... 800-CC-RIDER ...  408-423-2212
AA4KB @ N6LDL.#NOCAL.CA.USA.NA / aa4kb.ampr.org / netcom!mojo@apple.com