소스 파일: C 언어로 작성한 문서
컴파일: 소스파일을 기계어로 바꾸는 과정
디버깅: 에러를 수정하는 것
Ctrl + Shift + B: 솔루션 빌드
Ctrl + F5: 프로그램 실행(솔루션 빌드 후 실행)
전처리기
컴파일을 시작하기 전, 소스 코드를 미리 처리해 주는 프로그램
1. #include (파일 이어 붙이기)
#include <stdio.h>
- 전처리기는 컴퓨터 하드웨어 어딘가에 저장되어 있는 stdio.h라는 헤더 파일의 소스 코드를 통째로 긁어와서, 해당 문장이 있던 자리에 추가
- printf, scanf, gets, fgets 등의 함수가 포함
2. #define (글자 치환하기)
#define MAX_SIZE 40
char buff[MAX_SIZE];
- 전처리기가 코드 전체를 뒤져서 MAX_SIZE라는 글자를 숫자 40으로 교체
- 전처리기가 동작한 이후로는 char buff[40];으로 변경되어 있음
3. #if (조건에 따라 코드 살리거나 죽이기)
#if 1
printf("이 코드는 컴파일 됩니다.\n");
#else
printf("이 코드는 컴파일에서 제외됩니다.\n");
#endif
- 전처리기는 #if 1 조건문 내부의 코드는 그대로 살려두고, 만약 #if 0으로 바꾸거나 부합하지 않는 조건문(#else)에 걸린 코드는 컴파일러가 읽지 못하도록 지운 채 컴파일러에게 넘겨줌
컴파일 과정 3단계
1. 전처리
- 전처리 지시자에 따라 소스 파일을 가공하는 과정
2. 컴파일
- 전처리가 끝난 파일을 컴파일하면 개체 파일(object file)이 됨
- 개체 파일은 CPU가 해석할 수 있는 명령어들로 이루어진 기계어 파일이지만 바로 실행은 불가능
- 프로그램은 OS에 의해 실행되므로 개체 파일을 설치된 운영체제가 인식할 수 있는 형태의 실행 파일로 변경해야 함
3. 링크
- 개체 파일에 startup code를 결합하는 과정을 수행
- startup code는 프로그램을 실행하기 전에 필요한 준비 과정을 수행
- main 함수를 호출해 작성한 프로그램의 코드가 실행되도록 함
'AI 시스템 반도체 SW > C 언어' 카테고리의 다른 글
| [C 언어] 3-2 데이터 입력 (0) | 2026.05.30 |
|---|---|
| [C 언어] 3-1 변수 (0) | 2026.05.30 |
| [C 언어] 2-2 상수와 데이터 표현 방법 (0) | 2026.05.30 |
| [C 언어] 2-1 C 프로그램의 구조와 데이터 출력 방법 (0) | 2026.05.30 |
| [C 언어] 1-1 프로그램과 C 언어 (0) | 2026.05.30 |