Print

Print


First, I'd like to thank those who responded and clarified things for me. I had ample experience with overlay on a number of systems over the years, from a 360/44, the various 370 series, and the 8088- and 80386-based PCs, shoehorning a lot of code and data into limited memory. Yet I never had occasion to overlay COMMON areas themselves. I needed only to make judicious use of available memory for what I needed to do (chemical process simulation). A data manager routine handled the software paging of data strings in and out of direct-access file, so that the problem that could be handled was not effectively bounded by memory size. Since INCLUDE became available, I have indeed used it to bring a needed COMMON block into a routine, and most of my COMMON blocks do have fixed mappings. The main does include all of the COMMONs, for definition purposes (I think one OS wanted me to do this somewhere along the way; I'm not sure where), and this is at least partly why I never had a problem with loss of COMMON data.

As to mappings, while most of my COMMONs have fixed mappings, I do make use of various "work" area commons, which typically are defined (in the main) as so many thousands of words of space as a single vector. Various groups of subsystem routines then have their own mappings of that particular COMMON, enabling sharing of data within that group of routines while they execute. Calculated results are then safely preserved as required so that another group of routines subsequently can reuse the work area with its own mapping.

RAR

-----Original Message-----
From: Fortran 90 List [mailto:[log in to unmask]]On Behalf
Of Richard Maine
Sent: Tuesday, March 02, 2004 10:50 PM
To: [log in to unmask]
Subject: Re: COMMON & SAVE

......(If you are using common without include, then we have
a *LOT* more important issues to discuss than the save statement.

----- (and from a subsequent reply:

Part of the reason I bring that up is that, in some complicated way,
common blocks aren't composed of variables.  Common blocks are
really composed of sequences of storage units (and then the variables
are mapped onto those storage units).  Wouldn't surprise me at all to
find that the standard is internally inconsistent about its
description of common.

-----------------------------------------
*****************Internet Email Confidentiality Footer****************** 

Privileged/Confidential Information may be contained in this message.  
If you are not the addressee indicated in this message (or responsible 
for delivery of the message to such person), you may not copy or deliver
this message to anyone. In such case, you should destroy this message
and notify the sender by reply email. Please advise immediately if you
or your employer do not consent to Internet email for messages of this
kind. Opinions, conclusions and other information in this message that
do not relate to the official business of The Shaw Group Inc. or its
subsidiaries shall be understood as neither given nor endorsed by it.
________________________________________________________________________
The Shaw Group Inc.
http://www.shawgrp.com