home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.ms-windows.programmer.win32
- Path: sparky!uunet!microsoft!hexnut!johnhall
- From: johnhall@microsoft.com (John Hall)
- Subject: Re: 16-bit Windows 3.1 vs Win32s thunking
- Message-ID: <1993Jan22.223924.25330@microsoft.com>
- Date: 22 Jan 93 22:39:24 GMT
- Organization: Microsoft Corporation
- References: <1993Jan21.020250.29619@emr1.emr.ca>
- Lines: 31
-
- I'm just adding my $.02 to what alistair said.
-
- In article jagrant@emr1.emr.ca (John Grant) writes:
- | So what's the difference?
- | -------------------------
- | If the NT app is still doing the same thing as the 16-bit app compiled
- | under Windows 3.1, i.e. switching pointers back & forth between linear
- | and segmented values, then what is the point of Win32s at least for
- | the memory stuff.
-
- Huge pointers are 16:16 addresses with compiler support for
- increasing the offset (the upper 16bits) when necessary.
- This means that incrementing a huge pointer is a function call.
-
- Win32s lets you use, essentially, real 32bit pointers. This
- means that when you increment a pointer in Win32s code, you
- add one to a variable.
-
- For code that manipulates in memory structures a lot, the
- code speadup between the two models is very large. It more
- than offsets for the overhead of switching from the 32bit
- address to a 16:16 address when calling a Windows 3.1 function.
-
- There are other advantages to a Win32s process. I believe
- sparse memory will be supported in the final release,
- for example.
-
-
-
- --
- -------------------------
- My comments are my own. They are independent and unrelated to the
- views of my company , relatives or elected representatives.
-
-