finegan@uccba.UUCP (Mike Finegan) (08/22/87)
While people are explaining addressing for PC `C' compilers, could someone tell me how to determine free memory in Microsoft `C' 4.0 ? I have used 3.0 with dismay, and 4.0 seemed to be a real `C' compiler (I am used to BSD 4.2, SYSV, Vax11-C). I wrote a simple program to allocate memory, until a NULL pointer was returned by alloc (or malloc), with no luck. I couldn't ever get a return value of NULL. And while I did get some offset(?) addresses, I don't see how ####:#### fits the (char *) type. I guess I shouldn't expect long ints ... As a last resort, I scanned the documentation and saw "sbrk". Unfortunately, it takes an int argument (returning the previous program memory unallocated memory address) and an int can only be so big. It also returned some odd values. If someone has accessed more than 64K, from a `C' program, maybe they could tell me how they did it. While I don't expect a long lecture on the PC addressing schemes, maybe a reference could be given, or a guide for how to interpret the address typically returned by Microsoft `C' routines. Also, what is the limit to memory you can access from Microsoft `C' ? I would like to do some image processing with extended memory ... Thanks for any info., Mike Finegan ...!hal!uccba![ucece1!]finegan