gjp@sei.cmu.edu (George Pandelios) (06/09/89)
[B >!/* Written 5:09 pm Jun 6, 1989 by phil@ux1.cso.uiuc.edu in m.cs.uiuc.edu:comp.sys.ibm.pc */ >!What's wrong with a C compiler than knows if an array is larger than a 64K >!segment that it just simply has to generate code that can calculate the >!correct segment address and displacement each time it needs to access an >!array location? >! >!It's not THAT hard to do, but sure, it will slow down the program. What would >!be nice is a compiler than CAN do this if the array is declared obviously >!larger than 64K. Also, pointer arithmetic may need this code, and this >!should be specifiable as a compile option as well. >! >!So, can any 8086 C compiler DO THAT? >! >!--Phil howard-- <phil@ux1.cso.uiuc.edu> >!/* End of text from m.cs.uiuc.edu:comp.sys.ibm.pc */ > > > Both the Lattice C and the Microsoft C (and doubtlessly many others) >can do (most) of this. > > [much text deleted] > > William Brown > brown@cs.uiuc.edu > University of Illinois at Urbana-Champaign Phil: I don't program much in C, but you may want to look at PC Magazine, Vol 7, No. 15 (September 13, 1988). There is an entire article devoted to C compiler comparison. I believe the magazine Computer Language has an annual C issue (in February). I don't know that you will find what you need, but here are two places to start. Good Luck, George =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= George J. Pandelios ArpaNet: gjp@sei.cmu.edu Software Engineering Institute usenet: sei!gjp 4500 Fifth Avenue Voice: (412) 268-7186 Pittsburgh, PA 15221 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Disclaimer: These opinions are my own and do not reflect those of the Software Engineering Institute, its sponsors, customers, clients, affiliates, or Carnegie-Mellon University. In fact, any resemblence of these opinions to any individual, living or dead, fictional or real, is purely coincidental. So there. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=