Тема: C# 4.0
Показать сообщение отдельно

  #9  
Старый 29.10.2009, 04:20
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Ну вот промежуточный код. Из него видно, что компилятор ничего не вырезает и чесно крутит цикл:

Код:
00000064  nop              
                string a = "hello ";
00000065  mov         eax,dword ptr ds:[022C3098h] 
0000006b  mov         dword ptr [ebp-4Ch],eax 
                string b = "2323";
0000006e  mov         eax,dword ptr ds:[022C309Ch] 
00000074  mov         dword ptr [ebp-50h],eax 

                string s = a + b;
00000077  mov         edx,dword ptr [ebp-50h] 
0000007a  mov         ecx,dword ptr [ebp-4Ch] 
0000007d  call        75CFC078 
00000082  mov         esi,eax 
00000084  mov         dword ptr [ebp-54h],esi 
            }
00000087  nop              
            for (int i = 0; i < 1000000; i++)
00000088  inc         dword ptr [ebp-48h] 
0000008b  cmp         dword ptr [ebp-48h],0F4240h 
00000092  setl        al   
00000095  movzx       eax,al 
00000098  mov         dword ptr [ebp-58h],eax 
0000009b  cmp         dword ptr [ebp-58h],0 
0000009f  jne         00000064
 
Ответить с цитированием