나의 IT일지
프로그래밍과 C언어 본문
C언어를 배우기 전, 우리는 프로그래밍에 대해서 알아야 한다.
프로그래밍의 이해
일단 프로그램에 대해서 알아보자. 프로그램이란 소스코드로 짜여진 틀로, 운영체제와 개발자가 소통하는 명령어들의 나열이라고 생각하면 된다.
이때 운영체제라는 것을 알아야 되는데, 운영체제는 프로그램을 실행했을 때, 프로그램의 소스코드의 문법에 따라 적절한 하드웨어에 전기신호를 주는 역할을 한다. 예를들면, 1+1라는 프로그램이 실행될 때, 운영체제에서 프로그램의 문법에 따라 "1"이라는 것을 RAM이라는 하드웨어에 전기신호를 주고 "+"라는 것을 cpu라는 하드웨어에 전기신호를 준다.
프로그램 --------> 운영체제(OS) --------> 하드웨어
이 프로그램을 제작하는 과정을 프로그래밍이라고 하며, 프로그래밍 언어를 사용하는데, 프로그래밍 언어란 개발자가 운영체제에게 명령을 내릴 때 사용하는 언어로, 앞으로 배울 C언어가 대표적인 예시이다.
C언어의 이해
C언어는 운영체제 중 하나인 Unix시스템을 사용하기위해 B언어를 발전시켜 만든 절차지향 프로그래밍 언어로, 절차지향 프로그래밍이란 소스코드를 작성하고 소스코드를 위에서부터 아래로 순서대로 읽는 기법을 이용하는 프로그래밍이다.
C언어의 특징으로는 다음과 같다.
- 하드웨어를 직접 제어
- 모든 프로그래밍 언어의 시작
- 시스템 프로그래밍이 가능
- 이식성을 갖춘 프로그램 생성 가능
- 함수를 사용하여 기능별로 개별 프로그래밍이 가능
- 프로그램의 함수를 다른 프로그램에 재활용가능
C언어는 하드웨어를 직접 제어할 수 있는데, 이는 C언어를 컴파일하면 어셈블리어 언어로 컴파일하기 때문이다. 어셈블리어 언어란 하드웨어를 제어하는 언어로, 숫자와 알파벳으로 이루어져 있지만, 기계어 한 줄 한 줄을 그대로 직역한 것이기에 일반 개발자가 읽기 힘들다. 그래서 하드웨어와 빌접한 개발을 하는 임베디드 개발자가 해당 언어를 사용한다.
이식성이란 기종이 다른 컴퓨터에서도 같은 프로그램을 사용할 수 있게 하는 특성으로, 컴퓨터가 바뀌더라도 같은 프로그램을 계속해서 활용하게 한다.
보통 프로그래밍 과정은 코드작성, 컴파일, 링크, 디버깅, 실행으로 5단계이지만, C언어의 프로그래밍 과정은 1단계인 코드작성과 2단계인 컴파일 작업 사이에, 전처리 작업이 진행되는 6단계로 구성되어 있다. 전처리란 전처리지시자(#)에 따라 소스파일을 컴파일하기 좋게 가공하는 과정으로, 컴파일 하기 전에 코드를 작동하기 위해 필요한 파일을 불러오거나 사전 작업을 진행한다.
- 코드작성: 명령들(소스코드)을 작성하는 과정 (.c파일 생성)
- 전처리: 전처리 지시자(#)에 따라 소스파일을 가공하는 과정
- 컴파일: 프로그래밍 언어는 사람이 사용하기 쉬운 언어이기에 컴파일러를 통해 운영체제가 이해할 수 있는 언어(기계 어:2진수로 구성)로 번역해주는 과정 (.obj파일 생성)
- 링크: 분리된 .obj파일을 합치며, 라이브러리 파일(프로그래밍 할 때 사용하는 기능 파일)를 내 코드와 연결하는 과정 (.exe파일 생성)
- 디버깅: 프로그램의 오류를 잡는 과정
- 실행: 프로그램을 사용하는 과정
'프로그래밍 언어 > C언어' 카테고리의 다른 글
출력함수 printf (0) | 2023.02.03 |
---|---|
상수와 키워드 (0) | 2023.02.02 |
변수와 자료형 (0) | 2023.02.01 |
C언어 프로그래밍의 기본 (1) | 2023.01.31 |
Visual studio 2019 설치 (0) | 2023.01.30 |