C 프로그래밍
- C프로그래밍 구성
- 소스 파일(source file)의 작성
- 선행처리기(preprocessor)에 의한 선행처리
- 선행처리(preprocess) : 선행처리란 실행 파일을 생성하는 과정에서 소스 파일 내에 존재하는 선행처리 지시문을 처리하는 작업을 의미한다.
- 선행처리지시자
- #include : 외부에 선언된 함수나 상수 등을 사용하기 위해, 함수나 상수가 포함된 외부 파일을 현재 파일에 포함할 때 사용함
- #define: 함수나 상수를 단순화해주는 매크로를 정의할 때 사용함
- #undef: #define 지시자로 이미 정의된 매크로를 삭제할 때 사용
- #line: LINE 매크로와 FILE 매크로를 재정의 할 때 사용
- #error: 지정한 오류 메시지를 출력하고, 컴파일 과정을 중단하고자 할 때 사용
- #pragma: 프로그램의 이식성을 위해 운영체제별로 달라지는 지시사항을 컴파일러에 전달할 때 사용
- #if, #ifdef, #indef, #elif, #else, #endif : 조건부 컴파일 지시자
- #include : 외부에 선언된 함수나 상수 등을 사용하기 위해, 함수나 상수가 포함된 외부 파일을 현재 파일에 포함할 때 사용함
- 컴파일러(compiler)에 의한 컴파일컴파일(compile): 소스 파일을 컴퓨터가 알아볼 수 있는 기계어로 변환시키는 작업
- 컴파일은 컴파일러에 의해 수행되며, 컴파일이 끝나 기계어로 변환된 파일을 오브젝트 파일(object file)이라고 한다. 이러한 오브젝트 파일의 확장자는 .o 나 .obj가 된다.
- 컴파일러(compiler)에 의한 컴파일
- 링커(linker)에 의한 링크
- 링크(link): 하나 이상의 오브젝트 파일과 라이브러리 파일, 시동 코드 등을 합쳐 하나의 파일로 만드는 작업을 링크라고 한다.
- 실행파일 (executable file) 생성
- C프로그래밍의 특징
- C 프로그램의 기본 단위는 함수이다.
- C언어로 구현되는 모든 프로그램은 반드시 main() 함수를 가지고 있어야 한다. C프로그램이 실행되면 가장 먼제 main() 함수를 찾아서 호출한다.
'C' 카테고리의 다른 글
포인터 (0) | 2022.06.28 |
---|---|
Stack, Heap, 메모리 동적 할당 (0) | 2022.06.27 |