더북(TheBook)

TAKEAWAY 1.3 제대로 작성된 C 프로그램은 여러 플랫폼에 이식할 수 있다.

필자는 이 책에서 C 프로그램의 이식성(portability)을 보장하도록 ‘올바르게’ 작성하려고 최선을 다했다. 아쉽게도 C를 지원한다고 내세우지만 최신 표준과 맞지 않은 플랫폼도 존재한다. 게다가 제대로 작성하지 않은 부분을 그냥 넘기거나, 이식성이 떨어진 확장 기능을 사용하는 플랫폼도 있다. 이렇듯 한 플랫폼에서 실행하고 테스트하는 것만으로는 이식성을 보장할 수 없다.

컴파일러는 앞에서 본 조그만 프로그램을 여러분이 사용하는 PC, 전화기, 셋톱박스, 냉장고 등을 비롯한 특정 플랫폼에 맞게 번역했을 때 제대로 실행될지를 검사한다.

(리눅스나 맥 OS 같은) POSIX 시스템이라면 대부분 c99라는 C 컴파일러가 제공된다. 앞에서 본 예제 프로그램을 컴파일하려면 다음과 같이 명령을 실행하면 된다.

 

터미널

 0 > c99 -o getting-started getting-started.c -lm

그러면 아무 문제 없이 컴파일되어 getting-started란 이름의 실행 파일이 현재 디렉터리에 생성된다.Exs 1 이 명령의 구성 요소를 하나씩 살펴보면 다음과 같다.

c99: 컴파일러 프로그램

-o getting-started: 컴파일러에서 처리한 결과(컴파일러 출력(compiler output)C)를 getting-started라는 파일에 저장한다.

 

 


Exs 1 각자 터미널에서 컴파일해 보기 바란다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.