Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!att!cbnews!cbema!las From: cbema!las@cbnews.ATT.COM (cbema!las) Newsgroups: comp.sys.ibm.pc Subject: Re: Looking for a decent C compiler Message-ID: <7322@cbnews.ATT.COM> Date: 9 Jun 89 18:11:13 GMT References: <1440@bucket.UUCP> <8000050@m.cs.uiuc.edu> Reply-To: cbema!las@cbnews.ATT.COM (Larry A. Shurr) Organization: AT&T Bell Laboratories, Columbus, OH (actually an AGS consultant) Lines: 22 In article <8000050@m.cs.uiuc.edu> brown@m.cs.uiuc.edu writes: > In Lattice C, all pointers in large model (L) or large data model (D) >are managed by function calls which compute segment and offset locations >whenever a pointer is referenced. Since this happens for all pointer >references without regard to the size of the object that they reference, >performance is low for all pointer operations. Yes, this is the default for Lattice' large model - option "-ml" on the lc command line. Essentially this is "Huge" model in Turbo C and Microsoft C. I think Lattice calls these pointers "normalized." If you use the "-mls" option, you essentially get the Turbo/Microsoft "Large" model in which arithmetic is performed on only the offset and no normalizing is performed. Similarly, a "-md" gives you the Lattice large data/small code model with normalizing and "-mds" gives you the offset arithmetic with no normalizing. regards, Larry -- Signed: Larry A. Shurr (cbema!las@att.ATT.COM or att!cbema!las) Clever signature, Wonderful wit, Outdo the others, Be a big hit! - Burma Shave (With apologies to the real thing. The above represents my views only.) (Please note my mailing address. Mail sent directly to cbnews doesn't make it.)