home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_09_10
/
9n10078a
< prev
next >
Wrap
Text File
|
1991-08-21
|
2KB
|
93 lines
FUNC_ARG.LST
/* Note: compiler generated file has been edited
* to fit magazine column.
*/
Line# Source Line Microsoft C Compiler Version 6.00AX
1 /*
2 * func_arg.c
3 * Jerzy Tomasik, 20-Jul-1991
4 * Stack usage during function calls
5 * in a C program
6 */
7
8 #include <stdlib.h>
9 #include <stdio.h>
10
11 struct big_struct
12 {
13 char array[1024];
14 };
15
16 /* A copy of big_struct is passed to this function
17 * on the stack, 1024 bytes of stack space are
18 * used to store the copy. The function does not
19 * have access to the original structure
20 */
21 void by_value(struct big_struct big, int dummy)
22 {
23 }
by_value Local Symbols
Name Class Type Size Offset
big . . . . . param 0004
dummy . . . . param 0404
24
25 /* An address of big_struct is passed to this function.
26 * This uses only 2 bytes of stack space (under small
27 * memory model), but any changes to the structure
28 * will be reflected in the original. This is NOT
29 * a copy!
30 */
31 void by_address(struct big_struct *big, int dummy)
32 {
33 }
by_address Local Symbols
Name Class Type Size Offset
big . . . . . . param 0004
dummy . . . . . param 0006
34
35
36 int main(void)
37 {
38 struct big_struct big;
39 int dummy;
40
41 by_value(big, dummy);
42
43 by_address(&big, dummy);
44
45 return(0);
46 }
47
main Local Symbols
Name Class Type Size Offset
dummy . . . . . auto -0402
big . . . . . . auto -0400
Global Symbols
Name Class Type Size Offset
by_address. . . global near function *** 0006
by_value. . . . global near function *** 0000
main. . . . . . global near function *** 000c
Code size = 004a (74)
Data size = 0000 (0)
Bss size = 0000 (0)