Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site utah-cs.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!hplabs!utah-cs!brownc From: brownc@utah-cs.UUCP (Eric C. Brown) Newsgroups: net.micro.pc Subject: Re: Lattice vs. Microsoft 3.0 Message-ID: <3457@utah-cs.UUCP> Date: Thu, 29-Aug-85 20:31:40 EDT Article-I.D.: utah-cs.3457 Posted: Thu Aug 29 20:31:40 1985 Date-Received: Sun, 1-Sep-85 04:41:20 EDT References: <85@seismo.CSS.GOV> Reply-To: brownc@utah-cs.UUCP (Eric C. Brown) Organization: Univ of Utah CS Dept Lines: 20 Summary: In article <85@seismo.CSS.GOV> mo@seismo.CSS.GOV (Mike O'Dell) writes: >Both compilers are very good, but they both have serious lossages: > >(1) Microsoft doesn't do pointer arithmetic for large model programs > correctly - they only do the bottom 16 bits and then wave their > hands about the segment part. They do generate all the data > segments needed (see next entry). > >(2) Lattice does the pointer arithmetic correctly, but only generates one > Data/BSS segment per program, causing problems with large > programs having much initialized data. > Wizard C does it correctly. The default for pointer arithmetic with 32 bit pointers is to generate a subroutine call that adds the pointers correctly, and they also support a 'huge' memory model that creates one data segment per file. Eric C. Brown brownc@utah-cs ...!{seismo, decvax}!utah-cs!brownc