.LFB0:
push ebp
mov ebp, esp
mov eax, DWORD PTR [ebp+8]
sub eax, 211209790
pop ebp
ret
답
int example(int x){
x=x-211209790;
return x;
}
님 디컴파일이 뭔지 모르시죠?
void __cdecl func_name(int arg0) { return arg0 - 211209790; }
모범 답안은 사실 틀렸음. optimization이 적용 됐으니까 저 어셈이 나오지. C 코드를 그대로 어셈으로 번역하면 sub dword ptr [ebp + 8], 211209790이 나오고 mov eax, dword ptr [ebp + 8]이 나와야 정상.
즉 문제의 어셈은 내가 적은 답안에 해당함.
아 그렇군요 이제 어샘 막 시작하는 늅늅이에여. ㅠㅠ
__int64 곱하기나 나누기 연산 쓴 C 코드 32비트로 컴파일된 거 해석해 보면 극혐.
리턴 타잎 틀렸엉.
으앙 쪽팔림 고침
아 void __cdecl이 아니라 int __cdecl. 내 덧글도 실수 ㅠㅠ
어떡해 괜히 고쳐서 틀렸엉.
앜ㅋㅋㅋ 코세 성님 말씀 읽고 글쓴이 모범 답안 코드 봤는데 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 글쓴이 코드가 틀렸다고 지적한 게 아닌데 괜히 고쳐서 틀려짐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
return x;에서 return 뺌 잼 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
zzzzzzzzz