-
c언어 - printf함수의 인자 push순서.(소스코드 순서)카테고리 없음 2021. 7. 2. 16:38반응형
#include<stdio.h> void main(){ int n1 = 1; int n2= 2; int n3=3; printf("%d %d %d ", n1, n2 ,n3); }
printf("%d %d %d", n1, n2, n3); => 다음의 순서로 작동한다.
push n3 push n2 push n1 push "%d %d %d"
실제로 코드가 위와 같지는 않고, 이해를 돕기 위한 것이다.
push ebx push ecx pop ecx pop ebx
이 코드가 궁금하다면 다음 포스팅을 참고하자.
https://pmandocom.tistory.com/83
printf, scanf등의 호출은 포함하는 함수에서의 push ebx(레지스터)
간혹 컴파일된 어셈블리어를 보고 분석하다보면 다음과 같은 상황을 마주하게된다. 어떤 함수(func1)에서 분명히 선언한 지역변수는 4바이트 짜리 한개 밖에 없는데, 어셈으로 보면 해당 지역변
pmandocom.tistory.com
반응형