C 함수에 너무 적은 레지스터 파라미터를 전달할 때 발생하는 문제점
(devblogs.microsoft.com)
C/C++ 함수 호출 시 파라미터 개수 불일치로 발생하는 미정의 동작은 스택 불균형과 메모리 오염 등 치명적인 오류를 유발할 수 있으며, 이를 방지하기 위해서는 하드웨어와 컴파일러의 저수준 동작 원리를 이해하고 엄격한 코딩 표준을 준수하는 것이 매우 중요합니다.
이 글의 핵심 포인트
- 1C/C++에서 파라미터 개수 불일치는 표준상 '미정의 동작(Undefined Behavior)'을 유발함
- 2스택 기반 호출 규약에서 파라미터 부족은 스택 불균형 및 호출자(Caller)의 메모리 오염을 초래할 수 있음
- 3