Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!columbia!rutgers!ucla-cs!ames!oliveb!pyramid!voder!blia!heather From: heather@blia.BLI.COM (Heather Mackinnon) Newsgroups: comp.lang.c,comp.sys.ibm.pc,comp.sys.intel Subject: Re: C compilers that can access more memory Message-ID: <2785@blia.BLI.COM> Date: Wed, 10-Jun-87 12:38:13 EDT Article-I.D.: blia.2785 Posted: Wed Jun 10 12:38:13 1987 Date-Received: Sat, 20-Jun-87 08:45:50 EDT References: <496@tahoe.UUCP> <2163@mmintl.UUCP> Organization: Britton Lee, Los Gatos, CA Lines: 28 Keywords: More C Memory Summary: as long as SS == DS Xref: mnetor comp.lang.c:2497 comp.sys.ibm.pc:4861 comp.sys.intel:268 In article <2163@mmintl.UUCP>, johnt@mmintl.UUCP (John Tangney) writes: > In article <496@tahoe.UUCP> malc@tahoe.UUCP (Malcolm L. Carlock) writes: > >Microsoft C and > >MIX C both seem to be unable to access more than 64K of either. (This > >seems to be based on some difficulty implementing pointers using these > >machines' segmented memory setup). > > Sorry, Microsoft C 4.00 certainly *does* allow access beyond 64K. It does > this via different memory "models", whereby code, data or neither is limited > to 64K. Microsoft C 4.00 does allow access beyond 64K so long as you don't attempt to use their memory allocation/free functions in more than one data segment and the stack segment is in the same segment as the data segment. This makes it awkward to use more than one data segment. At the OS/2 developers' conference last week, I brought this up and Microsoft promised that this would be fixed "soon". You can currently use more than one data segment if you are very careful and willing to do quite a bit of finagling to make it work. If you have a few very large arrays, it will work fine to move them to a new data segment. If you have lots of dynamically allocated memory, then you'll have to do some careful work with memory allocation to get it to fly. Heather Mackinnon Britton-Lee, Inc.