C언어는 운영체제(OS) 개발을 위해 만들어진 언어입니다.
그래서 하드웨어를 제어하고 실행 효율을 높이는 작업에 주로 사용하는 언어입니다.
예를 들면 의료기기, 가전제품, 사물인터넷 등등 우리가 실생활에 사용하는 모든 기기들을 만들려면
C언어가 들어간다고 생각하시면 됩니다.
그 외에도 C언어는 C# C++ 같이 게임을 만들 때 쓰이는 언어의 기반이고,
자바, 파이썬 등의 클래스는 C언어의 구조체로부터 출발되었다고 합니다.
이제부터 저는 이 C언어를 처음부터 공부하면서 배우는 내용들을 이 블로그에 천천히 정리를 할 것입니다.
1. hello world 출력
참고로 나는 mac에서 xcode를 사용한다.
저기 위에 있는 실행버튼을 누르면 아래 터미널 창에서 hello world라고 내가 방금
프로그래밍 한 파일이 실행되었다.
지금은 xcode라는 에디터를 통해서 컴파일이 쉽게 됩지만 컴파일 과정은 3단계로 나누어진다고 한다.
전처리 -> 컴파일 -> 링크 이렇게 나누어지는데
전처리는 전처리 지시자에 따라 소스파일을 가공하는 과정이라고 한다.
방금 내가 작성한 파일에서는 #include가 전처리 지시자인데 include는 프로그램에 필요한 함수 중 외부에 있는 함수를 불러들인다고 한다.
#include함수를 사용하는 방법은 2가지가 있다.
첫번째는 방금 내가 사용한 #include <파일명>
이건 C언어의 기본 라이브러리를 사용할 때 사용하는 방법입니다.
나는 방금 stdio.h라는C언어에 기본적으로 내장되어있는 라이브러리를 사용한 것이다.
두 번째는 #include "파일명" 이건 내가 직접 만든 라이브러리를 사용하는 방법이다.
단 같은 폴더 내에 있어야 하고 만약 다른 폴더에 있다면 위치까지 같이 나타내 줘야 한다.
전처리가 끝났으면 이제 컴파일이다
컴파일은 전처리가 끝난 파일을 이제 CPU가 알아먹을 수 있는 언어로 변경해주는 작업입니다.
CPU는 0과 1밖에 모르는 바보이기 때문에 번역을 해주는 것이다.
그다음은 링크다.
링크는 컴파일을 끝난 개체 파일을 이제 운영체제가 인식할 수 있는 형태로 바꾸는 것이다.
개체 파일에 startup code를 결합하는 과정을 수행하는 작업을 링크라고 하고, startup code는 프로그램 실행하기 전에 필요한
준비작업을 하며 main함수를 호출하여 우리가 작성한 코드를 실행되도록 하는 것이다.
'C' 카테고리의 다른 글
C언어 const를 이용하여 상수 만들기 (0) | 2021.12.09 |
---|---|
C언어 변수 선언 (0) | 2021.12.08 |
C언어 상수 표현 방법, 진수별 수 표현 방법 정리 (0) | 2021.12.06 |
C언어 정수와 실수 (0) | 2021.12.05 |
C언어 main 함수 구조와 주석 (0) | 2021.12.02 |
댓글