ddawson@csd4.csd.uwm.edu (Daniel R Dawson) (06/06/91)
Howdy fellow HaPollo users! I'm wondering if anyone out there has found a way to achieve dynamic memory allocation in the Apollo bsd4.3 or sys5.3 UNIX fortran compiler (f77). The touchy part is that I'd like a common block to be the dynamic memory involved. What is done now: Jack up the array size to some huge value and hope you will never need more than this: COMMON / MEMORY / DYNMIC(4000000) Advantage: Easy! Disadvantage: Wastes gobs of virtual memory (i.e. disk space) on tiny problems. What I'd like to do: Set the initial array size to a fair value and allow the program to 'realloc' during run-time if needed. COMMON / MEMORY / DYNMIC(25000) Advantage: Better use of resources. Disadvantage: I don't know how to accomplish it. One technique that a local Convex guru told me about involved using an assembler, but I'd like to avoid that level if possible and stay within the realm of f77, cc, ld, and UNIX calls from within f77/cc. Is there a way to move the location of a global to the end of the executable (in ld)? If so, then I might be able to pass the address of the common to a C function to realloc. (Can this method work? It sounds good on paper.) Reply by mail and I'll summarize the results. Thanks in advance to all who care to contribute their 2 cents. -- Dan Dawson ddawson@csd4.csd.uwm.edu ------------------------------------------------------------------------- As a child, I was seen but not heard. Now I'm obscene and not heard.