본문 바로가기

2023 혼공c

[혼공학습단 10기]활동 '혼자 공부하는 C언어' 1주차 (2)

안녕하세요 타이밍입니다.

지난번 1주차에 제가 바빠서 이론과 선택학습을 업로드 하지 못했는데요

이번주 부터 다시 시간이 생겨서 이렇게 업로드를 하고 있습니다.

그러면 프로그램이란 무엇인지 알아보고 c언어의 역사에 대해서 알아보겠습니다.

 

 

 

 

 

프로그램이란 무엇일까요?

프로그램은 일의 순서를 말합니다. 예를 들어 제가 밥을 짓는다고 한다면

쌀 준비 -> 쌀을 3번 씻기 -> 밥통에 넣기 -> 알맞은 높이까지 물을 넣기 -> 밥솥에 넣기 -> 취사버튼 누르기

-> '취사가 완료되었습니다.'라는 말이 나올때 까지 기다리기 -> 밥 꺼내기

이렇게 프로그램으로 나열할 수 있습니다.

 

컴퓨터도 프로그램으로 돌아가는데, 앞에서 제가 썼던 프로그램을 컴퓨터에 입력하면 컴퓨터는 작동하지 않습니다. 앞에서 보았던 프로그램은 정확한 용량이 나타나지 않기 때문입니다. 컴퓨터를 작동시키기 위해 정확한 표현의 규칙을 정의해 놓은 것이 바로 프로그래밍 언어이고 C언어는 프로그래밍 언어 중 하나 입니다.

 

C언어는 1972년 데니스 리치가 유닉스(운영체제의 일종)에 사용하게 위해 B 언어를 발전시켜서 만든 언어입니다.

C언어의 장점은 다음과 같습니다.

1. 시스템 프로그래밍이 가능하다

2. 이식성을 갖춘 프로그램을 만들 수 있다.

3. 함수를 사용하여 개별 프로그래밍이 가능하다.

 

프로그램을 만들기 위해서 소스 파일(C언어로 작성한 문서)를 만들고 이를 컴파일 하여

컴퓨터가 이해하는 기계어로 바꿉니다.

 

컴파일 과정은 전처리 - 컴파일 - 링크의 세 단계 과정으로 나뉩니다.

 

1 : 전처리

전처리 지사자(#include)에 따라 소스 파일을 가공하는 과정, 소스 파일을 컴퓨터에 맞게 편집하는 일이므로 파일의 형태에는 변화가 없다.

2 : 컴파일

전처리가 끝난 파일을 컴파일 하면 개체 파일(CPU가 해석할 수 있는 명령어들로 이루어진 기계어 파일이지만 바로 실행하는 것을 불가능(운영체제가 인식할 수 있는 형태로 바뀌어야 함))이 된다.

3 : 링크

개체 파일에 startup code를 결합하는 과정, startup code는 main 함수를 호출하여 프로그램 코드가 실행되도록 한다. 따라서 프로그램에는 항상 main함수가 필요하다.