C언어
C언어 개요
C 언어는 현재 사용되고 있는 모든 시스템에서 사용할 수 있는 범용성을 가진 프로그래밍 언어입니다.
주요 운영체제의 커널의 대부분은 C언어를 통해서 구현되어 있으며 시스템 프로그래밍, 모빌리티, 임베디드에 전체적으로 사용되고 있는 언어입니다.
이렇게 C언어가 사용되는 것은 그 특징에 기반한다. C언어는 절차 지향 프로그래밍 언어 이다.
C언어의 특징
장점
C언어로 작성된 프로그램은 다양한 하드웨어로의 이식성이 좋습니다.
C언어는 절차 지향 프로그래밍 언어로, 코드가 복잡하지 않아 상대적으로 유지보수가 쉽습니다.
C언어는 저급 언어의 특징을 가지고 있으므로, 어셈블리어 수준으로 하드웨어를 제어할 수 있습니다.
C언어는 코드가 간결하여, 완성된 프로그램의 크기가 작고 실행 속도가 빠릅니다.
단점
C언어는 저급 언어의 특징을 가지고 있으므로, 자바와 같은 다른 고급 언어보다 배우기가 어렵습니다.
C언어는 다른 언어와는 달리 시스템 자원을 직접 제어할 수 있으므로, 프로그래밍하는데 주의가 필요합니다.
C언어의 표준
C언어는 1989년부터 ANSI(American Noational Standards Institute)에서 표준화 작업은 진행했습니다. 하지만 현재는 ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)에서 표준화를 담당하고 있습니다.
프로그래밍 (Programming)
C언어 파일 생성 과정
소스 파일(Source File) 작성
- C언어를 사용하여 문법에 맞게 코딩을 진행 이를 통해 생성된 파일은 .c 확장자를 가진다.
선행처리기(preprocessor)에 의한 선행처리
선행처리를 실시 ( 소스 파일 중 #으로 시작하는 지시문을 처리하는 작업)
코드를 생성하는 것이 아니라 컴파일 전 컴파일러에게 작업하기 좋도록 재구성하는 역활을 수행
컴파일러(Compiler)에 의한 컴파일
소스 코드를 기계어로 변환하는 작업 수행
이렇게 수행된 파일을 오브젝트파일(object file)이라고 부르면 .o 또는 .obj 형식의 확장자를 가짐
링커(linker)에 의한 링크
컴파일러에 의해 생성된 오브젝트 파일은 운영체제와 인터페이스를 담당하는 시동 코드 (start-up code)를 가지고 있지 않습니다. 또한 라이브러리도 포함하고 있지 않습니다. 하지만 이 링크 과정을 통해서 오브젝트 파일과 시동 코드, 라이브러리 파일을 통합하게 됩니다.
이러한 과정을 거치면 하나의 실행파일이나 라이브러리 파일이 생성됩니다.
실행 파일(executable file)의 생성
- 소스 코드를 여러 과정을 거쳐서 하나의 실행 파일이 됩니다. 이러한 실행 파일은 .exe 확장자를 가집니다.