Binary
-
Compilation of C++ to binaryComputer/Programming 2008. 1. 11. 15:41
array 사용이 컴파일되었을 때의 모양 일반적인 local variable의 경우 mov [ebp+var_38], 0 ; i = 0 과 같이 ebp 레지스터에 대한 상대 위치를 이용하여 표현한다. array도 마찬가지인데 mov [ebp+eax*4+var_2C], ecx ; a[i] = i; 과 같이 ebp에 대한 상대 위치로 표현한다. MOV r/m32, r32 MOV r32, r/m32 MOV r32, imm32 같은 instruction을 사용한다. stack guard 같은 것을 사용하려면 첫번째 argument가 r/m32인 것만 찾으면 되는 것일까? function pointer가 컴파일되었을 때의 모양 function pointer 값을 배열에 assign할 때 fp[0] = &a; // ..