Presentation is loading. Please wait.

Presentation is loading. Please wait.

Program Compilation and Execution

Similar presentations


Presentation on theme: "Program Compilation and Execution"— Presentation transcript:

1 Program Compilation and Execution

2 Today’s Objectives Explain why runtime stack needed for C
Draw logical division of memory into stack, heap Compare and contrast stack and heap List variables stored in heap; stack; neither

3 Logical Memory Layout Stack Heap Static Space D Y N A M I C
Currently not in use Currently not in use Heap Static Space

4 Dice.c int NUM = 100000; main() { int i, roll, *counts;
counts = (int *) malloc (13 * sizeof(int)); for (i = 0; i < 13; i++) counts[i] = 0; for ( i = 0; i < NUM; i++) roll = rand() % 6 + rand() %6 + 2 counts[roll]++; for (i = 2; i < 13; i++) printf(“There were %d rolls of %d\n”, counts[i],i); }

5 Where Are the Variables?
Stack D Y N A M I C i; roll; counts Currently not in use Currently not in use Space for 13 ints – pointed to by counts Heap Num “There were %d rolls of %d\n” Static Space

6 Runtime Stack Activation record for Hanoi; 1 2 3 1
Activation Record for Main Activation record for main


Download ppt "Program Compilation and Execution"

Similar presentations


Ads by Google