Я заметил некоторые странно выглядящие заявления, когда я просмотрел какой-то c-код в разборке. Операции произошли непосредственно перед вызовом функции. Так что я удалил весь код из моей программы просто оставить пустую основную функцию, как это -В чем смысл этих операторов языка ассемблера?
У меня есть пустая основная функция, как это -
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Но когда я посмотрел на разборке заявления сборочного в вопросе по-прежнему настоящее время. Так кто-нибудь знает, для чего предназначены эти утверждения?
int _tmain(int argc, _TCHAR* argv[])
{
00411350 push ebp
00411351 mov ebp,esp
00411353 sub esp,0C0h
00411359 push ebx
0041135A push esi
0041135B push edi
0041135C lea edi,[ebp-0C0h]
00411362 mov ecx,30h
00411367 mov eax,0CCCCCCCCh
0041136C rep stos dword ptr es:[edi]
return 0;
0041136E xor eax,eax
}
Заявление о которых идет речь
00411362 mov ecx,30h
00411367 mov eax,0CCCCCCCCh
0041136C rep stos dword ptr es:[edi]
Возможный дубликат [Почему мы выделяем 12 байтов для каждой переменной?] (Http://stackoverflow.com/questions/8033353/why-do-we-allocate-12-bytes-for-each-variable) –