Implementation-Defined Behavior

김경주·2022년 12월 23일
0

C

목록 보기
1/4

C 표준은 의도적으로 언어의 몇 부분을 불명확하게 놔둔다.

implementation - 특정 플랫폼에서 프로그램을 컴파일, 링크 그리고 실행하기 위해 필요한 소프트웨어

implementation가 구체적인 내용들을 작성하고 그 결과로 프로그램의 행위는 implementation마다 어느 정도 다르다.

C89 표준에서 음수에 관한 '/'와 '%'의 연산의 행위는 implementation-defined behavior의 한 예시이다.

언어의 몇 부분들을 명시되지 않은채로 놔두는 것은 이상해보이거나 조금 위험해보일 것이지만 이는 C의 철학을 보여준다.

언어의 목적 중 하나는 효율이다. 이는 종종 하드웨어가 동작하는 방식과 맞춰주는 것을 말한다.

몇몇 CPU에서는 -9를 7로 나누면 -1을 산출하고 반대로 -2을 출력하는 몇몇 기계들도 있다.

implementation-defined behavior에 의존하는 프로그램 작성을 피하는게 베스트

출처: K.N.KING C-PROGRAMMING A MODERN APPROACH

profile
Hello everyone

0개의 댓글