现在,来看看成果。
以如下C代码为运行样本:
int global_a = 1 + 2;
int global_b = 1 - 2;
int global_c = 1 * 2;
int global_d = 1 / 2;
int global_e = 1 % 2;
int global_f = 1 & 2;
int global_g = 1 | 2;
int global_h = 1 ^ 2;
int global_i = 1 && 2;
int global_j = 1 == 2;
int global_k = 1 > 2;
int global_l = 1 >= 2;
int global_m = 1 < 2;
int global_n = 1 <= 2;
int global_o = 1 != 2;
int global_p = 1 || 2;
int global_q = 1 << 2;
int global_r = 1 >> 2;
char global_ch = 'a';
char* global_str = "abcdefghijklmn";
void fork()
{
int x = 1;
if (x > 0)
x = 2;
else
x = 3;
// return ;
x = 2;
for(int i = 0; i < 5; i++)
{
x++;
break;
}
while(x < 10)
x++;
x = 0;
do
{
x++;
}while(x < 5);
x = 2;
switch(x)
{
case 1:
case 2: x++;
case 3: break;
case 4:
default: break;
}
// switch in for
for(x = 1; x < 10; x++)
{
switch(x)
{
case 1: break;
case 2:
case 3:
{
if (x == 2)
x = 2;
else
x = 3;
}
break;
case 4:
{
for(int y = 0; y < 5; y++)
{
if (y >= 3)
break;
}
}
break;
case 6:
break;
case 7:
case 8:
default:
{
x = x;
}
break;
} // switch
} // for
}
void fork2(int a, int b)
{
print("iterate fork2: a=%i, b=%i\n", a, b);
if (a + b == 2)
return;
else
fork2(--a, --b);
}
void fork3(...)
{
int len = varlen();
print("Variable function:fork3\n");
print("length is %i\n", len);
for(int i = 0; i < len; i++)
{
int x = vararg(i);
print("x=%i\n", x);
}
return ;
}
int strlen(char* str)
{
int len = 0;
char* ptr = str;
while(*ptr != 0)
{
len++;
ptr++;
}
return len;
}
void main()
{
fork();
fork2(5, 5);
fork3(1);
fork3(1, 2);
fork3(1, 2, 3);
// Test pointer assign
char* str = "abcdefg";
char* str2 = str;
print("str=%s\n", str);
print("str2=%s\n", str2);
print("str len=%i\n", strlen(str));
print("str2 len=%i\n", strlen(str2));
char* str3 = malloc(5);
*(str3 + 0) = 'a';
*(str3 + 1) = 'b';
*(str3 + 2) = 0;
print("str3=%s\n", str3);
int iVal = 0;
if (input("Test Input", "Please input a string", "0", "%i", "Integer required", &iVal))
{
print("result=%i \n", iVal);
}
switch(confirm("hello", "world"))
{
case 0: prompt("Result", "You pressed no."); break;
case 1: prompt("Result", "You pressed yes."); break;
}
}
运行之,则有:
提示输入:
输入133(记念曾经的133路大巴),会打印之,然后出现:
注
此处记忆错误,应为113路大巴。
让我们点击“是”按钮,出现提示对话框:
关闭提示对话框后,看看命令行窗口中的结果:
查看Debug输出:
1>>Warning: Line: 2 Pos: 1 "global_a = 1 + 2;": Variable "global_a" is defined but never used.
2>>Warning: Line: 3 Pos: 1 "global_b = 1 - 2;": Variable "global_b" is defined but never used.
3>>Warning: Line: 4 Pos: 1 "global_c = 1 * 2;": Variable "global_c" is defined but never used.
4>>Warning: Line: 5 Pos: 1 "global_d = 1 / 2;": Variable "global_d" is defined but never used.
5>>Warning: Line: 6 Pos: 1 "global_e = 1 % 2;": Variable "global_e" is defined but never used.
6>>Warning: Line: 7 Pos: 1 "global_f = 1 & 2;": Variable "global_f" is defined but never used.
7>>Warning: Line: 8 Pos: 1 "global_g = 1 | 2;": Variable "global_g" is defined but never used.
8>>Warning: Line: 9 Pos: 1 "global_h = 1 ^ 2;": Variable "global_h" is defined but never used.
9>>Warning: Line: 10 Pos: 1 "global_i = 1 && 2;": Variable "global_i" is defined but never used.
10>>Warning: Line: 11 Pos: 1 "global_j = 1 == 2;": Variable "global_j" is defined but never used.
11>>Warning: Line: 12 Pos: 1 "global_k = 1 > 2;": Variable "global_k" is defined but never used.
12>>Warning: Line: 13 Pos: 1 "global_l = 1 >= 2;": Variable "global_l" is defined but never used.
13>>Warning: Line: 14 Pos: 1 "global_m = 1 < 2;": Variable "global_m" is defined but never used.
14>>Warning: Line: 15 Pos: 1 "global_n = 1 <= 2;": Variable "global_n" is defined but never used.
15>>Warning: Line: 16 Pos: 1 "global_o = 1 != 2;": Variable "global_o" is defined but never used.
16>>Warning: Line: 17 Pos: 1 "global_p = 1 || 2;": Variable "global_p" is defined but never used.
17>>Warning: Line: 18 Pos: 1 "global_q = 1 << 2;": Variable "global_q" is defined but never used.
18>>Warning: Line: 19 Pos: 1 "global_r = 1 >> 2;": Variable "global_r" is defined but never used.
19>>Warning: Line: 21 Pos: 1 "global_ch = 'a';": Variable "global_ch" is defined but never used.
20>>Warning: Line: 22 Pos: 1 "global_str = "abcdefghijklmn";": Variable "global_str" is defined but never used.
21>>Warning: Line: 142 Pos: 1 "void main()": Function "main" is defined but never used.
================================ Program Begin ================================
Declare [char * "$var_char_ptr_121$"] Address: [0x00000004] Size:4
Constant $const_init_122$ refers to $var_char_ptr_121$
Initialize pointer $var_char_ptr_121$ Address: 0x00000004 Value: 0x00000008
Declare [char * "$var_char_ptr_119$"] Address: [0x0000001C] Size:4
Constant $const_init_120$ refers to $var_char_ptr_119$
Initialize pointer $var_char_ptr_119$ Address: 0x0000001C Value: 0x00000020
Declare [char * "$var_char_ptr_116$"] Address: [0x00000028] Size:4
Constant $const_init_117$ refers to $var_char_ptr_116$
Initialize pointer $var_char_ptr_116$ Address: 0x00000028 Value: 0x0000002C
Declare [char * "$var_char_ptr_114$"] Address: [0x0000003C] Size:4
Constant $const_init_115$ refers to $var_char_ptr_114$
Initialize pointer $var_char_ptr_114$ Address: 0x0000003C Value: 0x00000040
Declare [char * "$var_char_ptr_111$"] Address: [0x00000048] Size:4
Constant $const_init_112$ refers to $var_char_ptr_111$
Initialize pointer $var_char_ptr_111$ Address: 0x00000048 Value: 0x0000004C
Declare [char * "$var_char_ptr_109$"] Address: [0x00000054] Size:4
Constant $const_init_110$ refers to $var_char_ptr_109$
Initialize pointer $var_char_ptr_109$ Address: 0x00000054 Value: 0x00000058
Declare [char * "$var_char_ptr_107$"] Address: [0x00000060] Size:4
Constant $const_init_108$ refers to $var_char_ptr_107$
Initialize pointer $var_char_ptr_107$ Address: 0x00000060 Value: 0x00000064
Declare [char * "$var_char_ptr_104$"] Address: [0x00000074] Size:4
Constant $const_init_105$ refers to $var_char_ptr_104$
Initialize pointer $var_char_ptr_104$ Address: 0x00000074 Value: 0x00000078
Declare [char * "$var_char_ptr_102$"] Address: [0x0000008C] Size:4
Constant $const_init_103$ refers to $var_char_ptr_102$
Initialize pointer $var_char_ptr_102$ Address: 0x0000008C Value: 0x00000090
Declare [char * "$var_char_ptr_100$"] Address: [0x00000094] Size:4
Constant $const_init_101$ refers to $var_char_ptr_100$
Initialize pointer $var_char_ptr_100$ Address: 0x00000094 Value: 0x00000098
Declare [char * "$var_char_ptr_98$"] Address: [0x0000009C] Size:4
Constant $const_init_99$ refers to $var_char_ptr_98$
Initialize pointer $var_char_ptr_98$ Address: 0x0000009C Value: 0x000000A0
Declare [char * "$var_char_ptr_96$"] Address: [0x000000B8] Size:4
Constant $const_init_97$ refers to $var_char_ptr_96$
Initialize pointer $var_char_ptr_96$ Address: 0x000000B8 Value: 0x000000BC
Declare [char * "$var_char_ptr_93$"] Address: [0x000000C8] Size:4
Constant $const_init_94$ refers to $var_char_ptr_93$
Initialize pointer $var_char_ptr_93$ Address: 0x000000C8 Value: 0x000000CC
Declare [char * "$var_char_ptr_86$"] Address: [0x000000D8] Size:4
Constant $const_init_87$ refers to $var_char_ptr_86$
Initialize pointer $var_char_ptr_86$ Address: 0x000000D8 Value: 0x000000DC
Declare [char * "$var_char_ptr_83$"] Address: [0x000000EC] Size:4
Constant $const_init_84$ refers to $var_char_ptr_83$
Initialize pointer $var_char_ptr_83$ Address: 0x000000EC Value: 0x000000F0
Declare [char * "$var_char_ptr_80$"] Address: [0x00000100] Size:4
Constant $const_init_81$ refers to $var_char_ptr_80$
Initialize pointer $var_char_ptr_80$ Address: 0x00000100 Value: 0x00000104
Declare [char * "$var_char_ptr_77$"] Address: [0x00000110] Size:4
Constant $const_init_78$ refers to $var_char_ptr_77$
Initialize pointer $var_char_ptr_77$ Address: 0x00000110 Value: 0x00000114
Declare [char * "$var_char_ptr_73$"] Address: [0x00000120] Size:4
Constant $const_init_74$ refers to $var_char_ptr_73$
Initialize pointer $var_char_ptr_73$ Address: 0x00000120 Value: 0x00000124
Declare [char * "$var_char_ptr_59$"] Address: [0x0000012C] Size:4
Constant $const_init_60$ refers to $var_char_ptr_59$
Initialize pointer $var_char_ptr_59$ Address: 0x0000012C Value: 0x00000130
Declare [char * "$var_char_ptr_54$"] Address: [0x00000138] Size:4
Constant $const_init_55$ refers to $var_char_ptr_54$
Initialize pointer $var_char_ptr_54$ Address: 0x00000138 Value: 0x0000013C
Declare [char * "$var_char_ptr_51$"] Address: [0x0000014C] Size:4
Constant $const_init_52$ refers to $var_char_ptr_51$
Initialize pointer $var_char_ptr_51$ Address: 0x0000014C Value: 0x00000150
Declare [char * "$var_char_ptr_45$"] Address: [0x0000016C] Size:4
Constant $const_init_46$ refers to $var_char_ptr_45$
Initialize pointer $var_char_ptr_45$ Address: 0x0000016C Value: 0x00000170
Declare [char * "$var_char_ptr_21$"] Address: [0x0000018C] Size:4
Constant $const_init_22$ refers to $var_char_ptr_21$
Initialize pointer $var_char_ptr_21$ Address: 0x0000018C Value: 0x00000190
Declare [int "global_a"] Address: [0x000001A0] Size:4
Exp: [1 + 2] Result: [3]
Exp: [global_a = 3] Result: [global_a]
Declare [int "global_b"] Address: [0x000001A4] Size:4
Exp: [1 - 2] Result: [-1]
Exp: [global_b = -1] Result: [global_b]
Declare [int "global_c"] Address: [0x000001A8] Size:4
Exp: [1 * 2] Result: [2]
Exp: [global_c = 2] Result: [global_c]
Declare [int "global_d"] Address: [0x000001AC] Size:4
Exp: [1 / 2] Result: [0]
Exp: [global_d = 0] Result: [global_d]
Declare [int "global_e"] Address: [0x000001B0] Size:4
Exp: [1 % 2] Result: [1]
Exp: [global_e = 1] Result: [global_e]
Declare [int "global_f"] Address: [0x000001B4] Size:4
A first chance exception of type 'SharpC.RuntimeException' occurred in SharpC.dll
Declare [int "global_g"] Address: [0x000001B8] Size:4
Exp: [1 | 2] Result: [3]
Exp: [global_g = 3] Result: [global_g]
Declare [int "global_h"] Address: [0x000001BC] Size:4
Exp: [1 ^ 2] Result: [3]
Exp: [global_h = 3] Result: [global_h]
Declare [int "global_i"] Address: [0x000001C0] Size:4
Exp: [1 && 2] Result: [1]
Exp: [global_i = 1] Result: [global_i]
Declare [int "global_j"] Address: [0x000001C4] Size:4
Exp: [1 == 2] Result: [0]
Exp: [global_j = 0] Result: [global_j]
Declare [int "global_k"] Address: [0x000001C8] Size:4
Exp: [1 > 2] Result: [0]
Exp: [global_k = 0] Result: [global_k]
Declare [int "global_l"] Address: [0x000001CC] Size:4
Exp: [1 >= 2] Result: [0]
Exp: [global_l = 0] Result: [global_l]
Declare [int "global_m"] Address: [0x000001D0] Size:4
Exp: [1 < 2] Result: [1]
Exp: [global_m = 1] Result: [global_m]
Declare [int "global_n"] Address: [0x000001D4] Size:4
Exp: [1 <= 2] Result: [1]
Exp: [global_n = 1] Result: [global_n]
Declare [int "global_o"] Address: [0x000001D8] Size:4
Exp: [1 != 2] Result: [1]
Exp: [global_o = 1] Result: [global_o]
Declare [int "global_p"] Address: [0x000001DC] Size:4
Exp: [1 || 2] Result: [1]
Exp: [global_p = 1] Result: [global_p]
Declare [int "global_q"] Address: [0x000001E0] Size:4
Exp: [1 << 2] Result: [4]
Exp: [global_q = 4] Result: [global_q]
Declare [int "global_r"] Address: [0x000001E4] Size:4
Exp: [1 >> 2] Result: [0]
Exp: [global_r = 0] Result: [global_r]
Declare [char "global_ch"] Address: [0x000001E8] Size:4
Exp: [global_ch = 97] Result: [global_ch]
Declare [char * "global_str"] Address: [0x000001EC] Size:4
Exp: [global_str = $var_char_ptr_21$] Result: [global_str]
Call function "fork" with [0] parameter
Declare [int "x"] Address: [0x000001F0] Size:4
Exp: [x = 1] Result: [x]
if(x > 0)
Exp: [x > 0] Result: [1]
Condition=1
Then
Exp: [x = 2] Result: [x]
Exp: [x = 2] Result: [x]
Begin For.
Declare [int "i"] Address: [0x000001F4] Size:4
Exp: [i = 0] Result: [i]
Free local variable: i Address: [0x000001f4] Size:4
Exp: [i < 5] Result: [1]
Condition: [i < 5] = 1
Exp: [x ++ ] Result: [2]
Break
End For.
Begin While.
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [3]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [4]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [5]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [6]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [7]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [8]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Exp: [x ++ ] Result: [9]
Exp: [x < 10] Result: [0]
Condition: [x < 10] = 0
End While.
Exp: [x = 0] Result: [x]
Begin Do...While.
Exp: [x ++ ] Result: [0]
Exp: [x < 5] Result: [1]
Condition : x < 5 = 1
Exp: [x ++ ] Result: [1]
Exp: [x < 5] Result: [1]
Condition : x < 5 = 1
Exp: [x ++ ] Result: [2]
Exp: [x < 5] Result: [1]
Condition : x < 5 = 1
Exp: [x ++ ] Result: [3]
Exp: [x < 5] Result: [1]
Condition : x < 5 = 1
Exp: [x ++ ] Result: [4]
Exp: [x < 5] Result: [0]
Condition : x < 5 = 0
End Do...While.
Exp: [x = 2] Result: [x]
Begin Switch.
Condition: [x] = 2
case 2
Exp: [x ++ ] Result: [2]
case 3
Break.
Break.
Begin For.
Exp: [x = 1] Result: [x]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 1
case 1
Break.
Break.
Exp: [x ++ ] Result: [1]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 2
case 2
case 3
if(x == 2)
Exp: [x == 2] Result: [1]
Condition=1
Then
Exp: [x = 2] Result: [x]
Break.
Break.
case 4
Begin For.
Declare [int "y"] Address: [0x000001F8] Size:4
Exp: [y = 0] Result: [y]
Free local variable: y Address: [0x000001f8] Size:4
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [0]
Condition=0
Exp: [y ++ ] Result: [0]
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [0]
Condition=0
Exp: [y ++ ] Result: [1]
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [0]
Condition=0
Exp: [y ++ ] Result: [2]
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [1]
Condition=1
Then
Break
Break.
Break.
End For.
Break.
Break.
case 6
Break.
Break.
case 7
case 8
Exp: [x ++ ] Result: [2]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 3
case 3
if(x == 2)
Exp: [x == 2] Result: [0]
Condition=0
Else
Exp: [x = 3] Result: [x]
Break.
Break.
case 4
Begin For.
Declare [int "y"] Address: [0x000001F4] Size:4
Exp: [y = 0] Result: [y]
Free local variable: y Address: [0x000001f4] Size:4
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [0]
Condition=0
End For.
Break.
Break.
case 6
Break.
Break.
case 7
case 8
Exp: [x ++ ] Result: [3]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 4
case 4
Begin For.
Declare [int "y"] Address: [0x000001FC] Size:4
Exp: [y = 0] Result: [y]
Free local variable: y Address: [0x000001fc] Size:4
Exp: [y < 5] Result: [1]
Condition: [y < 5] = 1
if(y >= 3)
Exp: [y >= 3] Result: [0]
Condition=0
End For.
Break.
Break.
case 6
Break.
Break.
case 7
case 8
Exp: [x ++ ] Result: [4]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 5
Default
Exp: [x = x] Result: [x]
Break.
Exp: [x ++ ] Result: [5]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 6
case 6
Break.
Break.
case 7
case 8
Exp: [x ++ ] Result: [6]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 7
case 7
case 8
Exp: [x ++ ] Result: [7]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 8
case 8
Exp: [x ++ ] Result: [8]
Exp: [x < 10] Result: [1]
Condition: [x < 10] = 1
Begin Switch.
Condition: [x] = 9
Default
Exp: [x = x] Result: [x]
Break.
Exp: [x ++ ] Result: [9]
Exp: [x < 10] Result: [0]
Condition: [x < 10] = 0
End For.
Free local variable: x Address: [0x000001f0] Size:4
Call function "fork2" with [2] parameters
Declare [int "a"] Address: [0x000001F8] Size:4
Declare [int "b"] Address: [0x000001F4] Size:4
Set parameter "a" : 5
Set parameter "b" : 5
Call function "print" with [3] parameters
Declare [char * "$var_char_ptr_123$"] Address: [0x00000200] Size:4
Declare [int "$var_int_124$"] Address: [0x000001FC] Size:4
Declare [int "$var_int_125$"] Address: [0x000001F0] Size:4
Set parameter "$var_char_ptr_123$" : 364
Set parameter "$var_int_124$" : 5
Set parameter "$var_int_125$" : 5
print("iterate fork2: a=%i, b=%i\n",5,5) output:{{iterate fork2: a=5, b=5
}}
Free [char * "$var_char_ptr_123$"] Address: 00000200 Size: 4
Free [int "$var_int_124$"] Address: 000001FC Size: 4
Free [int "$var_int_125$"] Address: 000001F0 Size: 4
if(a + b == 2)
Exp: [a + b] Result: [10]
Exp: [10 == 2] Result: [0]
Condition=0
Else
Exp: [a -- ] Result: [4]
Exp: [b -- ] Result: [4]
Call function "fork2" with [2] parameters
function iteration: fork2 for 1 time
Set parameter "a" : 4
Set parameter "b" : 4
Call function "print" with [3] parameters
Declare [char * "$var_char_ptr_126$"] Address: [0x00000204] Size:4
Declare [int "$var_int_127$"] Address: [0x00000200] Size:4
Declare [int "$var_int_128$"] Address: [0x000001FC] Size:4
Set parameter "$var_char_ptr_126$" : 364
Set parameter "$var_int_127$" : 4
Set parameter "$var_int_128$" : 4
print("iterate fork2: a=%i, b=%i\n",4,4) output:{{iterate fork2: a=4, b=4
}}
Free [char * "$var_char_ptr_126$"] Address: 00000204 Size: 4
Free [int "$var_int_127$"] Address: 00000200 Size: 4
Free [int "$var_int_128$"] Address: 000001FC Size: 4
if(a + b == 2)
Exp: [a + b] Result: [8]
Exp: [8 == 2] Result: [0]
Condition=0
Else
Exp: [a -- ] Result: [3]
Exp: [b -- ] Result: [3]
Call function "fork2" with [2] parameters
function iteration: fork2 for 2 times
Set parameter "a" : 3
Set parameter "b" : 3
Call function "print" with [3] parameters
Declare [char * "$var_char_ptr_129$"] Address: [0x000001F0] Size:4
Declare [int "$var_int_130$"] Address: [0x00000208] Size:4
Declare [int "$var_int_131$"] Address: [0x00000204] Size:4
Set parameter "$var_char_ptr_129$" : 364
Set parameter "$var_int_130$" : 3
Set parameter "$var_int_131$" : 3
print("iterate fork2: a=%i, b=%i\n",3,3) output:{{iterate fork2: a=3, b=3
}}
Free [char * "$var_char_ptr_129$"] Address: 000001F0 Size: 4
Free [int "$var_int_130$"] Address: 00000208 Size: 4
Free [int "$var_int_131$"] Address: 00000204 Size: 4
if(a + b == 2)
Exp: [a + b] Result: [6]
Exp: [6 == 2] Result: [0]
Condition=0
Else
Exp: [a -- ] Result: [2]
Exp: [b -- ] Result: [2]
Call function "fork2" with [2] parameters
function iteration: fork2 for 3 times
Set parameter "a" : 2
Set parameter "b" : 2
Call function "print" with [3] parameters
Declare [char * "$var_char_ptr_132$"] Address: [0x00000200] Size:4
Declare [int "$var_int_133$"] Address: [0x000001FC] Size:4
Declare [int "$var_int_134$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_132$" : 364
Set parameter "$var_int_133$" : 2
Set parameter "$var_int_134$" : 2
print("iterate fork2: a=%i, b=%i\n",2,2) output:{{iterate fork2: a=2, b=2
}}
Free [char * "$var_char_ptr_132$"] Address: 00000200 Size: 4
Free [int "$var_int_133$"] Address: 000001FC Size: 4
Free [int "$var_int_134$"] Address: 0000020C Size: 4
if(a + b == 2)
Exp: [a + b] Result: [4]
Exp: [4 == 2] Result: [0]
Condition=0
Else
Exp: [a -- ] Result: [1]
Exp: [b -- ] Result: [1]
Call function "fork2" with [2] parameters
function iteration: fork2 for 4 times
Set parameter "a" : 1
Set parameter "b" : 1
Call function "print" with [3] parameters
Declare [char * "$var_char_ptr_135$"] Address: [0x000001F0] Size:4
Declare [int "$var_int_136$"] Address: [0x00000208] Size:4
Declare [int "$var_int_137$"] Address: [0x00000204] Size:4
Set parameter "$var_char_ptr_135$" : 364
Set parameter "$var_int_136$" : 1
Set parameter "$var_int_137$" : 1
print("iterate fork2: a=%i, b=%i\n",1,1) output:{{iterate fork2: a=1, b=1
}}
Free [char * "$var_char_ptr_135$"] Address: 000001F0 Size: 4
Free [int "$var_int_136$"] Address: 00000208 Size: 4
Free [int "$var_int_137$"] Address: 00000204 Size: 4
if(a + b == 2)
Exp: [a + b] Result: [2]
Exp: [2 == 2] Result: [1]
Condition=1
Then
return
Set parameter "a" : 2
Set parameter "b" : 2
Set parameter "a" : 3
Set parameter "b" : 3
Set parameter "a" : 4
Set parameter "b" : 4
Set parameter "a" : 5
Set parameter "b" : 5
Call function "fork3" with [1] parameters
Declare [short "$var_short_138$"] Address: [0x00000210] Size:4
Set parameter "$var_short_138$" : 1
Declare [int "len"] Address: [0x00000200] Size:4
Call function "varlen" with [0] parameter
Exp: [len = 1] Result: [len]
Call function "print" with [1] parameters
Declare [char * "$var_char_ptr_139$"] Address: [0x000001FC] Size:4
Set parameter "$var_char_ptr_139$" : 332
print("Variable function:fork3\n") output:{{Variable function:fork3
}}
Free [char * "$var_char_ptr_139$"] Address: 000001FC Size: 4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_140$"] Address: [0x0000020C] Size:4
Declare [int "$var_int_141$"] Address: [0x000001F0] Size:4
Set parameter "$var_char_ptr_140$" : 312
Set parameter "$var_int_141$" : 1
print("length is %i\n",1) output:{{length is 1
}}
Free [char * "$var_char_ptr_140$"] Address: 0000020C Size: 4
Free [int "$var_int_141$"] Address: 000001F0 Size: 4
Begin For.
Declare [int "i"] Address: [0x00000208] Size:4
Exp: [i = 0] Result: [i]
Free local variable: i Address: [0x00000208] Size:4
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x00000204] Size:4
Call function "vararg" with [1] parameters
Declare [int "argIdx"] Address: [0x00000214] Size:4
Set parameter "argIdx" : 0
Exp: [x = 1] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_142$"] Address: [0x000001FC] Size:4
Declare [int "$var_int_143$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_142$" : 300
Set parameter "$var_int_143$" : 1
print("x=%i\n",1) output:{{x=1
}}
Free [char * "$var_char_ptr_142$"] Address: 000001FC Size: 4
Free [int "$var_int_143$"] Address: 0000020C Size: 4
Free local variable: x Address: [0x00000204] Size:4
Exp: [i ++ ] Result: [0]
Exp: [i < len] Result: [0]
Condition: [i < len] = 0
End For.
return
Free local variable: len Address: [0x00000200] Size:4
Free [short "$var_short_138$"] Address: 00000210 Size: 4
Call function "fork3" with [2] parameters
Declare [short "$var_short_144$"] Address: [0x000001F0] Size:4
Declare [short "$var_short_145$"] Address: [0x00000208] Size:4
Set parameter "$var_short_144$" : 1
Set parameter "$var_short_145$" : 2
Declare [int "len"] Address: [0x00000218] Size:4
Call function "varlen" with [0] parameter
Exp: [len = 2] Result: [len]
Call function "print" with [1] parameters
Declare [char * "$var_char_ptr_146$"] Address: [0x000001FC] Size:4
Set parameter "$var_char_ptr_146$" : 332
print("Variable function:fork3\n") output:{{Variable function:fork3
}}
Free [char * "$var_char_ptr_146$"] Address: 000001FC Size: 4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_147$"] Address: [0x0000020C] Size:4
Declare [int "$var_int_148$"] Address: [0x00000204] Size:4
Set parameter "$var_char_ptr_147$" : 312
Set parameter "$var_int_148$" : 2
print("length is %i\n",2) output:{{length is 2
}}
Free [char * "$var_char_ptr_147$"] Address: 0000020C Size: 4
Free [int "$var_int_148$"] Address: 00000204 Size: 4
Begin For.
Declare [int "i"] Address: [0x00000200] Size:4
Exp: [i = 0] Result: [i]
Free local variable: i Address: [0x00000200] Size:4
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x00000210] Size:4
Call function "vararg" with [1] parameters
Set parameter "argIdx" : 0
Exp: [x = 1] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_149$"] Address: [0x0000021C] Size:4
Declare [int "$var_int_150$"] Address: [0x000001FC] Size:4
Set parameter "$var_char_ptr_149$" : 300
Set parameter "$var_int_150$" : 1
print("x=%i\n",1) output:{{x=1
}}
Free [char * "$var_char_ptr_149$"] Address: 0000021C Size: 4
Free [int "$var_int_150$"] Address: 000001FC Size: 4
Free local variable: x Address: [0x00000210] Size:4
Exp: [i ++ ] Result: [0]
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x0000020C] Size:4
Call function "vararg" with [1] parameters
Set parameter "argIdx" : 1
Exp: [x = 2] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_151$"] Address: [0x00000204] Size:4
Declare [int "$var_int_152$"] Address: [0x00000200] Size:4
Set parameter "$var_char_ptr_151$" : 300
Set parameter "$var_int_152$" : 2
print("x=%i\n",2) output:{{x=2
}}
Free [char * "$var_char_ptr_151$"] Address: 00000204 Size: 4
Free [int "$var_int_152$"] Address: 00000200 Size: 4
Free local variable: x Address: [0x0000020c] Size:4
Exp: [i ++ ] Result: [2]
Exp: [i < len] Result: [0]
Condition: [i < len] = 0
End For.
return
Free local variable: len Address: [0x00000218] Size:4
Free [short "$var_short_144$"] Address: 000001F0 Size: 4
Free [short "$var_short_145$"] Address: 00000208 Size: 4
Call function "fork3" with [3] parameters
Declare [short "$var_short_153$"] Address: [0x00000220] Size:4
Declare [short "$var_short_154$"] Address: [0x0000021C] Size:4
Declare [short "$var_short_155$"] Address: [0x000001FC] Size:4
Set parameter "$var_short_153$" : 1
Set parameter "$var_short_154$" : 2
Set parameter "$var_short_155$" : 3
Declare [int "len"] Address: [0x00000210] Size:4
Call function "varlen" with [0] parameter
Exp: [len = 3] Result: [len]
Call function "print" with [1] parameters
Declare [char * "$var_char_ptr_156$"] Address: [0x00000204] Size:4
Set parameter "$var_char_ptr_156$" : 332
print("Variable function:fork3\n") output:{{Variable function:fork3
}}
Free [char * "$var_char_ptr_156$"] Address: 00000204 Size: 4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_157$"] Address: [0x00000200] Size:4
Declare [int "$var_int_158$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_157$" : 312
Set parameter "$var_int_158$" : 3
print("length is %i\n",3) output:{{length is 3
}}
Free [char * "$var_char_ptr_157$"] Address: 00000200 Size: 4
Free [int "$var_int_158$"] Address: 0000020C Size: 4
Begin For.
Declare [int "i"] Address: [0x00000218] Size:4
Exp: [i = 0] Result: [i]
Free local variable: i Address: [0x00000218] Size:4
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x000001F0] Size:4
Call function "vararg" with [1] parameters
Set parameter "argIdx" : 0
Exp: [x = 1] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_159$"] Address: [0x00000208] Size:4
Declare [int "$var_int_160$"] Address: [0x00000224] Size:4
Set parameter "$var_char_ptr_159$" : 300
Set parameter "$var_int_160$" : 1
print("x=%i\n",1) output:{{x=1
}}
Free [char * "$var_char_ptr_159$"] Address: 00000208 Size: 4
Free [int "$var_int_160$"] Address: 00000224 Size: 4
Free local variable: x Address: [0x000001f0] Size:4
Exp: [i ++ ] Result: [0]
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x00000204] Size:4
Call function "vararg" with [1] parameters
Set parameter "argIdx" : 1
Exp: [x = 2] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_161$"] Address: [0x00000200] Size:4
Declare [int "$var_int_162$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_161$" : 300
Set parameter "$var_int_162$" : 2
print("x=%i\n",2) output:{{x=2
}}
Free [char * "$var_char_ptr_161$"] Address: 00000200 Size: 4
Free [int "$var_int_162$"] Address: 0000020C Size: 4
Free local variable: x Address: [0x00000204] Size:4
Exp: [i ++ ] Result: [1]
Exp: [i < len] Result: [1]
Condition: [i < len] = 1
Declare [int "x"] Address: [0x00000218] Size:4
Call function "vararg" with [1] parameters
Set parameter "argIdx" : 2
Exp: [x = 3] Result: [x]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_163$"] Address: [0x00000228] Size:4
Declare [int "$var_int_164$"] Address: [0x00000208] Size:4
Set parameter "$var_char_ptr_163$" : 300
Set parameter "$var_int_164$" : 3
print("x=%i\n",3) output:{{x=3
}}
Free [char * "$var_char_ptr_163$"] Address: 00000228 Size: 4
Free [int "$var_int_164$"] Address: 00000208 Size: 4
Free local variable: x Address: [0x00000218] Size:4
Exp: [i ++ ] Result: [3]
Exp: [i < len] Result: [0]
Condition: [i < len] = 0
End For.
return
Free local variable: len Address: [0x00000210] Size:4
Free [short "$var_short_153$"] Address: 00000220 Size: 4
Free [short "$var_short_154$"] Address: 0000021C Size: 4
Free [short "$var_short_155$"] Address: 000001FC Size: 4
Declare [char * "str"] Address: [0x00000224] Size:4
Exp: [str = $var_char_ptr_73$] Result: [str]
Declare [char * "str2"] Address: [0x000001F0] Size:4
Exp: [str2 = str] Result: [str2]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_165$"] Address: [0x00000200] Size:4
Declare [char * "$var_char_ptr_166$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_165$" : 272
Set parameter "$var_char_ptr_166$" : 548
print("str=%s\n",524) output:{{str=abcdefg
}}
Free [char * "$var_char_ptr_165$"] Address: 00000200 Size: 4
Free [char * "$var_char_ptr_166$"] Address: 0000020C Size: 4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_167$"] Address: [0x00000204] Size:4
Declare [char * "$var_char_ptr_168$"] Address: [0x0000022C] Size:4
Set parameter "$var_char_ptr_167$" : 256
Set parameter "$var_char_ptr_168$" : 496
print("str2=%s\n",556) output:{{str2=abcdefg
}}
Free [char * "$var_char_ptr_167$"] Address: 00000204 Size: 4
Free [char * "$var_char_ptr_168$"] Address: 0000022C Size: 4
Call function "strlen" with [1] parameters
Declare [char * "str"] Address: [0x00000228] Size:4
Set parameter "str" : 548
Declare [int "len"] Address: [0x00000208] Size:4
Exp: [len = 0] Result: [len]
Declare [char * "ptr"] Address: [0x00000218] Size:4
Exp: [ptr = str] Result: [ptr]
Begin While.
Exp: [ptr * ] Result: [(* char)[0x00000124]]
Exp: [(* char)[0x00000124] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [0]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x00000125]]
Exp: [(* char)[0x00000125] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [1]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x00000126]]
Exp: [(* char)[0x00000126] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [2]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x00000127]]
Exp: [(* char)[0x00000127] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [3]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x00000128]]
Exp: [(* char)[0x00000128] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [4]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x00000129]]
Exp: [(* char)[0x00000129] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [5]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x0000012A]]
Exp: [(* char)[0x0000012A] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [6]
Exp: [ptr ++ ] Result: [536]
Exp: [ptr * ] Result: [(* char)[0x0000012B]]
Exp: [(* char)[0x0000012B] != 0] Result: [0]
Condition: [*ptr != 0] = 0
End While.
return [7]
Free local variable: len Address: [0x00000208] Size:4
Free local variable: ptr Address: [0x00000218] Size:4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_169$"] Address: [0x00000210] Size:4
Declare [int "$var_int_170$"] Address: [0x00000220] Size:4
Set parameter "$var_char_ptr_169$" : 236
Set parameter "$var_int_170$" : 7
print("str len=%i\n",7) output:{{str len=7
}}
Free [char * "$var_char_ptr_169$"] Address: 00000210 Size: 4
Free [int "$var_int_170$"] Address: 00000220 Size: 4
Call function "strlen" with [1] parameters
Set parameter "str" : 496
Declare [int "len"] Address: [0x0000021C] Size:4
Exp: [len = 0] Result: [len]
Declare [char * "ptr"] Address: [0x000001FC] Size:4
Exp: [ptr = str] Result: [ptr]
Begin While.
Exp: [ptr * ] Result: [(* char)[0x00000124]]
Exp: [(* char)[0x00000124] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [0]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x00000125]]
Exp: [(* char)[0x00000125] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [1]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x00000126]]
Exp: [(* char)[0x00000126] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [2]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x00000127]]
Exp: [(* char)[0x00000127] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [3]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x00000128]]
Exp: [(* char)[0x00000128] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [4]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x00000129]]
Exp: [(* char)[0x00000129] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [5]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x0000012A]]
Exp: [(* char)[0x0000012A] != 0] Result: [1]
Condition: [*ptr != 0] = 1
Exp: [len ++ ] Result: [6]
Exp: [ptr ++ ] Result: [508]
Exp: [ptr * ] Result: [(* char)[0x0000012B]]
Exp: [(* char)[0x0000012B] != 0] Result: [0]
Condition: [*ptr != 0] = 0
End While.
return [7]
Free local variable: len Address: [0x0000021c] Size:4
Free local variable: ptr Address: [0x000001fc] Size:4
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_171$"] Address: [0x00000200] Size:4
Declare [int "$var_int_172$"] Address: [0x0000020C] Size:4
Set parameter "$var_char_ptr_171$" : 216
Set parameter "$var_int_172$" : 7
print("str2 len=%i\n",7) output:{{str2 len=7
}}
Free [char * "$var_char_ptr_171$"] Address: 00000200 Size: 4
Free [int "$var_int_172$"] Address: 0000020C Size: 4
Declare [char * "str3"] Address: [0x00000230] Size:4
Call function "malloc" with [1] parameters
Declare [int "size"] Address: [0x00000204] Size:4
Set parameter "size" : 5
Exp: [str3 = 564] Result: [str3]
Exp: [str3 + 0] Result: [(char *)[0x00000234]]
Exp: [(char *)[0x00000234] ( ] Result: [(char *)[0x00000234]]
Exp: [(char *)[0x00000234] * ] Result: [(* char)[0x00000234]]
Exp: [(* char)[0x00000234] = 97] Result: [(* char)[0x00000234]]
Exp: [str3 + 1] Result: [(char *)[0x00000235]]
Exp: [(char *)[0x00000235] ( ] Result: [(char *)[0x00000235]]
Exp: [(char *)[0x00000235] * ] Result: [(* char)[0x00000235]]
Exp: [(* char)[0x00000235] = 98] Result: [(* char)[0x00000235]]
Exp: [str3 + 2] Result: [(char *)[0x00000236]]
Exp: [(char *)[0x00000236] ( ] Result: [(char *)[0x00000236]]
Exp: [(char *)[0x00000236] * ] Result: [(* char)[0x00000236]]
Exp: [(* char)[0x00000236] = 0] Result: [(* char)[0x00000236]]
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_173$"] Address: [0x0000022C] Size:4
Declare [char * "$var_char_ptr_174$"] Address: [0x00000208] Size:4
Set parameter "$var_char_ptr_173$" : 200
Set parameter "$var_char_ptr_174$" : 560
print("str3=%s\n",520) output:{{str3=ab
}}
Free [char * "$var_char_ptr_173$"] Address: 0000022C Size: 4
Free [char * "$var_char_ptr_174$"] Address: 00000208 Size: 4
Declare [int "iVal"] Address: [0x00000218] Size:4
Exp: [iVal = 0] Result: [iVal]
if(input($var_char_ptr_96$,$var_char_ptr_98$,$var_char_ptr_100$,$var_char_ptr_102$,$var_char_ptr_104$,&iVal,))
Exp: [iVal & ] Result: [536]
Call function "input" with [6] parameters
Declare [char * "title"] Address: [0x00000210] Size:4
Declare [char * "message"] Address: [0x00000220] Size:4
Declare [char * "defValue"] Address: [0x0000021C] Size:4
Declare [char * "format"] Address: [0x000001FC] Size:4
Declare [char * "errMsg"] Address: [0x00000200] Size:4
Declare [char * "result"] Address: [0x0000020C] Size:4
Set parameter "title" : 184
Set parameter "message" : 156
Set parameter "defValue" : 148
Set parameter "format" : 140
Set parameter "errMsg" : 116
Set parameter "result" : 536
Condition=1
Then
Call function "print" with [2] parameters
Declare [char * "$var_char_ptr_175$"] Address: [0x0000023C] Size:4
Declare [int "$var_int_176$"] Address: [0x0000022C] Size:4
Set parameter "$var_char_ptr_175$" : 96
Set parameter "$var_int_176$" : 113
print("result=%i \n",113) output:{{result=113
}}
Free [char * "$var_char_ptr_175$"] Address: 0000023C Size: 4
Free [int "$var_int_176$"] Address: 0000022C Size: 4
Begin Switch.
Call function "confirm" with [2] parameters
Declare [char * "title"] Address: [0x00000208] Size:4
Declare [char * "msg"] Address: [0x00000240] Size:4
Set parameter "title" : 84
Set parameter "msg" : 72
Condition: [confirm($var_char_ptr_109$,$var_char_ptr_111$,)] = 1
case 1
Call function "prompt" with [2] parameters
Declare [char * "title"] Address: [0x0000023C] Size:4
Declare [char * "msg"] Address: [0x0000022C] Size:4
Set parameter "title" : 28
Set parameter "msg" : 4
Break.
Break.
Free local variable: str Address: [0x00000224] Size:4
Free local variable: str2 Address: [0x000001f0] Size:4
Free local variable: str3 Address: [0x00000230] Size:4
Free local variable: iVal Address: [0x00000218] Size:4
Free local variable: global_a Address: [0x000001a0] Size:4
Free local variable: global_b Address: [0x000001a4] Size:4
Free local variable: global_c Address: [0x000001a8] Size:4
Free local variable: global_d Address: [0x000001ac] Size:4
Free local variable: global_e Address: [0x000001b0] Size:4
Free local variable: global_f Address: [0x000001b4] Size:4
Free local variable: global_g Address: [0x000001b8] Size:4
Free local variable: global_h Address: [0x000001bc] Size:4
Free local variable: global_i Address: [0x000001c0] Size:4
Free local variable: global_j Address: [0x000001c4] Size:4
Free local variable: global_k Address: [0x000001c8] Size:4
Free local variable: global_l Address: [0x000001cc] Size:4
Free local variable: global_m Address: [0x000001d0] Size:4
Free local variable: global_n Address: [0x000001d4] Size:4
Free local variable: global_o Address: [0x000001d8] Size:4
Free local variable: global_p Address: [0x000001dc] Size:4
Free local variable: global_q Address: [0x000001e0] Size:4
Free local variable: global_r Address: [0x000001e4] Size:4
Free local variable: global_ch Address: [0x000001e8] Size:4
Free local variable: global_str Address: [0x000001ec] Size:4
================================ Program End ================================
Time consumption: 10.0877237 sec
The thread 'vshost.RunParkingWindow' (0x45bc) has exited with code 0 (0x0).
The thread '<No Name>' (0x485c) has exited with code 0 (0x0).
Free constant variable: $var_char_ptr_121$ Address: [0x00000004]->[0x00000008] Size: 20
Free constant variable: $var_char_ptr_119$ Address: [0x0000001c]->[0x00000020] Size: 8
Free constant variable: $var_char_ptr_116$ Address: [0x00000028]->[0x0000002c] Size: 16
Free constant variable: $var_char_ptr_114$ Address: [0x0000003c]->[0x00000040] Size: 8
Free constant variable: $var_char_ptr_111$ Address: [0x00000048]->[0x0000004c] Size: 8
Free constant variable: $var_char_ptr_109$ Address: [0x00000054]->[0x00000058] Size: 8
Free constant variable: $var_char_ptr_107$ Address: [0x00000060]->[0x00000064] Size: 16
Free constant variable: $var_char_ptr_104$ Address: [0x00000074]->[0x00000078] Size: 20
Free constant variable: $var_char_ptr_102$ Address: [0x0000008c]->[0x00000090] Size: 4
Free constant variable: $var_char_ptr_100$ Address: [0x00000094]->[0x00000098] Size: 4
Free constant variable: $var_char_ptr_98$ Address: [0x0000009c]->[0x000000a0] Size: 24
Free constant variable: $var_char_ptr_96$ Address: [0x000000b8]->[0x000000bc] Size: 12
Free constant variable: $var_char_ptr_93$ Address: [0x000000c8]->[0x000000cc] Size: 12
Free constant variable: $var_char_ptr_86$ Address: [0x000000d8]->[0x000000dc] Size: 16
Free constant variable: $var_char_ptr_83$ Address: [0x000000ec]->[0x000000f0] Size: 16
Free constant variable: $var_char_ptr_80$ Address: [0x00000100]->[0x00000104] Size: 12
Free constant variable: $var_char_ptr_77$ Address: [0x00000110]->[0x00000114] Size: 12
Free constant variable: $var_char_ptr_73$ Address: [0x00000120]->[0x00000124] Size: 8
Free constant variable: $var_char_ptr_59$ Address: [0x0000012c]->[0x00000130] Size: 8
Free constant variable: $var_char_ptr_54$ Address: [0x00000138]->[0x0000013c] Size: 16
Free constant variable: $var_char_ptr_51$ Address: [0x0000014c]->[0x00000150] Size: 28
Free constant variable: $var_char_ptr_45$ Address: [0x0000016c]->[0x00000170] Size: 28
Free constant variable: $var_char_ptr_21$ Address: [0x0000018c]->[0x00000190] Size: 16
Free function "main" arguments, count: 0
Free function "malloc" arguments, count: 1
Free argument "size" Address: [0x00000204] Size: 4
Free function "input" arguments, count: 6
Free argument "title" Address: [0x00000210] Size: 4
Free argument "message" Address: [0x00000220] Size: 4
Free argument "defValue" Address: [0x0000021c] Size: 4
Free argument "format" Address: [0x000001fc] Size: 4
Free argument "errMsg" Address: [0x00000200] Size: 4
Free argument "result" Address: [0x0000020c] Size: 4
Free function "confirm" arguments, count: 2
Free argument "title" Address: [0x00000208] Size: 4
Free argument "msg" Address: [0x00000240] Size: 4
Free function "prompt" arguments, count: 2
Free argument "title" Address: [0x0000023c] Size: 4
Free argument "msg" Address: [0x0000022c] Size: 4
Free function "vararg" arguments, count: 1
Free argument "argIdx" Address: [0x00000214] Size: 4
Free function "fork2" arguments, count: 2
Free argument "a" Address: [0x000001f8] Size: 4
Free argument "b" Address: [0x000001f4] Size: 4
Free function "strlen" arguments, count: 1
Free argument "str" Address: [0x00000228] Size: 4
完整的工程在这里。
All right. Github has been banned! What a fork!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。