|
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Joe Pluta
Sent: Wednesday, July 02, 2008 1:16 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: Scoping of procedure-level variables
No it's not. I'm referring to scope. It just so happens that scope is
pretty much inextricably tied to allocation: a traditional static
variable is typically in the program's variable space which is allocated
the first time the program runs (or from the heap for more dynamic
models), while automatic variables are typically on the stack.
By allocating in program storage or on the heap, the value stays intact
between program calls, which is what makes the scope static. Variables
allocated on the stack are by definition lost when the procedure
returns, and thus fit the definition of automatic.
The question that arises with multi-threading is how to deal with
thread-specific statics. Clearly they can't be allocated to a single
memory location like traditional statics, and yet they must remain
intact between calls. Thus thread-specific static variables must use
heap allocation.
Joe
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.