От: | Forrest_Gump | ||
Дата: | 15.02.04 23:12 | ||
Оценка: |
inline int fac(int n) {return (n < 2) ? 1 : n * fac(n-1); }
В виду допустимости рекурсивных и взаимно рекурсивных встроенных функций, невозможно гарантировать, что в месте каждого вызова такой функции будет действительно осуществлено встраивание кода функции.
inline int fac(int n) {return (n < 2) ? 1 : n * fac(n-1); }
int main(){
fac(6);
return 0;
}
2:
3: int main(){
00401020 push ebp
00401021 mov ebp,esp
00401023 sub esp,40h
00401026 push ebx
00401027 push esi
00401028 push edi
00401029 lea edi,[ebp-40h]
0040102C mov ecx,10h
00401031 mov eax,0CCCCCCCCh
00401036 rep stos dword ptr [edi]
4: fac(6);
00401038 push 6
0040103A call @ILT+5(fac) (0040100a)
0040103F add esp,4
5:
6: return 0;
00401042 xor eax,eax
7: }