프로그램 작성 과정

이성민·2022년 5월 30일
0

C언어

목록 보기
3/9

2.1 프로그램 개발 과정

설계

주로 문제를 해결하는 알고리즘을 개발하는 단계

알고리즘 개발은 프로그램 개발 과정의 핵심적인 부분이다.
어떤 단계를 밟아서 어떤 순서로 작업을 처리할 것인지를 설계하는 것이다.

구현

구현 은 가장 핵심적인 단계다.

(1) 소스 작성

원하는 작업의 내용을 기술한 것을 소스 코드 라고 한다.
소스코드 : 텍스트 파일

소스코드가 들어있는 파일을 소스 파일 이라고 한다.

(2) 컴파일과 링크

컴파일러 는 소스 파일을 분석하여 특정한 컴푸터에서 실행이 가능하도록 기계어로 변환한다.

컴파일러는 소스 파일의 문장을 분석하여 문법에 맞도록 작성되었는지 체크한다.
오류가 없다면 컴파일러는 각 문장들을 기계어로 변환한다.
기계어로 되어 있는 파일은 오브젝트 파일 이라고 불린다.

컴파일이 성공적으로 수행되면 다음단계는 링크다.
링크: 오브젝트 파일을 라이브러리와 연결하여 실행 프로그램을 만든다.
링커: 링크를 수행하는 프로그램

근데 왜 why? 컴파일과 링크의 두단계로 분리시켜 실행파일을 만들까 ...?

하나의 프로그램은 일반적으로 여러 개의 소스 파일로 구성이되고 각각의 파일을 따로 따로 컴파일 한 후에 링커를 통해 결합하기 때문에 하나의 소스 파일만 변경한 경우에도 모든 소스 파일을 다시 컴파일 해야한다면 시간이 낭비되기 때문에 링크단계가 있다면 변경된 소스 파일만 다시 컴파일하면 된다 .

(3) 프로그램 실행과 디버깅

컴파일 오류는 없지만 알고리즘을 잘못 생각하여 의도했던 대로 실행되지 않는 경우가 있다.
이런 오류를 논리적인 오류 라고 한다.

거의 대부분의 프로그래머들이 논리적인 오류를 저지른다.

의도했던 대로 프로그램이 동작하지 않으면 소스 프로그램을 수정하고 다시 컴파일 ➡️ 링크 ➡️ 실행의 단계를 거쳐야 한다.
이러한 오류 수정 작업을 보통 디버깅 이라 한다.

유지보수

디버깅 후에도 버그가 남아 있을 수 있기 때문에 유지 보수를 해야함.

2.2 통합 개발 환경

예전에는 에디터, 컴파일러, 디버거 등이 별도의 분리된 프로그램이였다고 한다.
불편함을 느끼고 통합 개발 환경 (IDE) 과 같은 소프트웨어 도구들이 등장함.

profile
학습 정리 , 자기개발을 위한 블로그

0개의 댓글