프로그램 개발 과정은
요구사항 분석 -> 설계 -> 구현 -> 테스팅 -> 유지보수
단계로 진행된다.
구현의 단계는 다음과 같다.
소스 코드는 에디터를 이용하여 텍스트 파일에 저장되어야 한다. 메모장이나 워드패드부터 통합 개발 환경에서 제공하는 텍스트 에디터 등을 사용할 수 있다.
C언어의 소스파일 확장자는 '.c'이다.
이때 필요한 것이 컴파일러(compiler)이다. 컴파일러는 소스파일을 분석하여 컴퓨터에서 실행이 가능하도록 기계어로 변환시킨다. 분석하는 과정에서 오류를 발견한다면 사용자에게 오류를 통보한다.
오브젝트 파일의 확장자는 '.obj'이다.
링크를 수행하는 프로그램은 링커(linker)이다. 라이브러리 파일은 프로그래머들이 많이 사용하는 내용을 미리 작성해놓은 것으로 컴파일러에 내장되어있다. 링크 과정을 거치면 확장자가 '.exe'인 파일이 생성된다.
위와같이 단계를 구분하는 것은 하나의 프로그램이 여러개의 소스파일로 구성되는 경우가 많기 때문이다. 여러 개의 소스파일로 구성된 프로그램의 경우 각각의 파일을 따로 컴파일한 후에 링커를 통해 결합한다.
비주얼 스튜디오에서는 컴파일과 링크과정을 묶어서 빌드(build)라고 한다.
컴파일 오류는 없지만 알고리즘을 잘못 생각하여 의도했던 대로 실행되지 않을 때가 있는데 이러한 오류를 논리적인 오류라고 한다.
디버깅이 끝난 후 더이상 할 일이 없는 것이 아니다. 디버깅 과정 후에도 생기는 버그를 고치거나 사용자의 요구를 받아들이는 등의 유지보수가 필요하다.
예전에는 에디터, 컴파일러, 디버거 등이 별도로 분리된 프로그램이었지만 현재는 통합 개발 환경(IDE: integrated development enviroment)과 같은 도구를 사용한다.
C언어 통합 개발 환경에는 비주얼 스튜디오, 이클립스, Dev-C++ 등이 있다.
나는 비주얼 스튜디오를 사용할 예정이며 설치 과정은 1학년 1학기 C언어 강의에서 진행하였기때문에 생략하겠다.