04-26-2010
The stack is used as a temporary storage place for function arguments, return addresses and
local variables.
The memory area for each function call is placed on the top of the stack, and then taken off when the execution of the call is completed.
Every time your function goes back one step in the nest, the previous value of i is popped off the stack thus it appears as if it is being decremented (but actually it's not)... what is really being decremented is the stack pointer.
All nested functions (in C at least) rely on some sort of stack so you should probably spend a bit understanding the concept.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm using the UNIX csh and i wish to use recursion to nav my way up (or down as it is) a given folder.
My little test script is called "r" and takes a folder as argv (or $1)
#!/bin/tcsh -f
set allFiles = `ls -A $argv`
cd $argv
while ($#allFiles)
if (-d... (1 Reply)
Discussion started by: gsjf
1 Replies
2. Shell Programming and Scripting
I am running a korn shell script which has a recursive function.
The script ran for 117 iterations and ended up with the following error
"recursion too deep".
what should be done to avert this?
Thanks in advance
Swamy
p.s. I am on UNIX MPRAS V4 (3 Replies)
Discussion started by: swamy455
3 Replies
3. Shell Programming and Scripting
Hello !
I need some help with my simple bash script.
This script removes all files ( with name given in $1 ) in current dir and subdirectories .
The problem is with first loop in the script ( for file in * ; do ) .
When I run the sript in my home directory this script display sometimes( ... (5 Replies)
Discussion started by: scotty_123
5 Replies
4. Shell Programming and Scripting
Hello every body. I am trying to find the factorial using the following code. But it is giving the syntax error. I tried very much but in vain. Thanks in advance for helping me
factorial()
{
if
then
y=`expr $1 - 1`
x=$(( $1 \* factorial $y ))... (6 Replies)
Discussion started by: murtaza
6 Replies
5. Shell Programming and Scripting
Hi,
If i have given to write a prog for factorial in C using recursion and without
recursion which one is better in what condition and why ?
thanks (2 Replies)
Discussion started by: useless79
2 Replies
6. Shell Programming and Scripting
Hi folks,
I need to write a script which remove files with suffix *.dmp from a specific directory ,older than 30 days and not including recursive subdirectories.
I.e:
The following command remove recursive all *.dmp files older than 30 days:
find $ORACLE_BASE -mtime +30 -type f -name... (5 Replies)
Discussion started by: nir_s
5 Replies
7. Shell Programming and Scripting
Hello, I'm scripting a newbie. I'm using KSH on HP-UX. I'm trying to write a script that will change a whole directory of file names into UPPER CASE.
I have the "convert to upper case" part of it working fine:
ls | while read filename; do
typeset -u uppercase
uppercase=${filename}
... (2 Replies)
Discussion started by: Wotan31
2 Replies
8. Programming
I want to halt a tail recursive function after certain validation. I want to come out of entire recursion without unwinding phase. How can i achieve that . The coding is done in C language. (5 Replies)
Discussion started by: joshighanshyam
5 Replies
9. Shell Programming and Scripting
Can someone please explain me why the following script calls it self recursively:
#!/bin/bash
echo Called
$0
while this not:
#!/bin/bash
echo Called
$($0)
Thanks (6 Replies)
Discussion started by: superpointer
6 Replies
10. Solaris
Hi,
I am trying to disable the recursion on DNS server (Solaris 10). I have added the lines in the named.conf as below:
allow-query-cache { none; };
recursion no;
Then restarted the solaris DNS services
svcadm refresh svc:/network/dns/server:default
Still I am able to... (0 Replies)
Discussion started by: snchaudhari2
0 Replies
LEARN ABOUT MOJAVE
glpushname
GLPUSHNAME(3G) GLPUSHNAME(3G)
NAME
glPushName, glPopName - push and pop the name stack
C SPECIFICATION
void glPushName( GLuint name )
PARAMETERS
name Specifies a name that will be pushed onto the name stack.
C SPECIFICATION
void glPopName( void )
DESCRIPTION
The name stack is used during selection mode to allow sets of rendering commands to be uniquely identified. It consists of an ordered set
of unsigned integers and is initially empty.
glPushName causes name to be pushed onto the name stack. glPopName pops one name off the top of the stack.
The maximum name stack depth is implementation-dependent; call GL_MAX_NAME_STACK_DEPTH to find out the value for a particular implementa-
tion. It is an error to push a name onto a full stack, or to pop a name off an empty stack. It is also an error to manipulate the name
stack between the execution of glBegin and the corresponding execution of glEnd. In any of these cases, the error flag is set and no other
change is made to GL state.
The name stack is always empty while the render mode is not GL_SELECT. Calls to glPushName or glPopName while the render mode is not
GL_SELECT are ignored.
ERRORS
GL_STACK_OVERFLOW is generated if glPushName is called while the name stack is full.
GL_STACK_UNDERFLOW is generated if glPopName is called while the name stack is empty.
GL_INVALID_OPERATION is generated if glPushName or glPopName is executed between a call to glBegin and the corresponding call to glEnd.
ASSOCIATED GETS
glGet with argument GL_NAME_STACK_DEPTH
glGet with argument GL_MAX_NAME_STACK_DEPTH
SEE ALSO
glInitNames, glLoadName, glRenderMode, glSelectBuffer
GLPUSHNAME(3G)