오버플로우와 언더플로우는 누가 처리 해주는것 인가요?
, 최 봉준님이 작성프로그램 실행 도중에 오버플로우 및 언더플로우가 발생한 경우 그에 따른 처리는 컴파일러가 만들어 낸 코드를 실행하는 것인가요(컴파일러에 의존해서 처리하는 것인가요)? 시스템(하드웨어+운여체제)에 의존해서 처리하는 것인가요?
#include <stdio.h>
int main(void)
{
int n1=2147483647;
n1+=100; // 오버플로우 발생! 컴파일러에 의존한 처리? 시스템에 의존한 처리?
printf("n1: %d\n", n1);
return 0;
}
회신: 오버플로우와 언더플로우는 누가 처리 해주는것 인가요?
, 도장_ 관리자님이 작성C 언어 표준에서는 정의되지 않은 동작(undefined behavior)이므로 어떻게 구현할지는 컴파일러 제작사가 정합니다.