💻Computer Science/📕개발 언어 (Language)

[C][Ch.1] C언어란 무엇인가 ?

Written by Donghak Park

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언어 파일 생성 과정

image

  • 소스 파일(Source File) 작성

    • C언어를 사용하여 문법에 맞게 코딩을 진행 이를 통해 생성된 파일은 .c 확장자를 가진다.
  • 선행처리기(preprocessor)에 의한 선행처리

    • 선행처리를 실시 ( 소스 파일 중 #으로 시작하는 지시문을 처리하는 작업)

    • 코드를 생성하는 것이 아니라 컴파일 전 컴파일러에게 작업하기 좋도록 재구성하는 역활을 수행

  • 컴파일러(Compiler)에 의한 컴파일

    • 소스 코드를 기계어로 변환하는 작업 수행

    • 이렇게 수행된 파일을 오브젝트파일(object file)이라고 부르면 .o 또는 .obj 형식의 확장자를 가짐

  • 링커(linker)에 의한 링크

    • 컴파일러에 의해 생성된 오브젝트 파일은 운영체제와 인터페이스를 담당하는 시동 코드 (start-up code)를 가지고 있지 않습니다. 또한 라이브러리도 포함하고 있지 않습니다. 하지만 이 링크 과정을 통해서 오브젝트 파일과 시동 코드, 라이브러리 파일을 통합하게 됩니다.

    • 이러한 과정을 거치면 하나의 실행파일이나 라이브러리 파일이 생성됩니다.

  • 실행 파일(executable file)의 생성

    • 소스 코드를 여러 과정을 거쳐서 하나의 실행 파일이 됩니다. 이러한 실행 파일은 .exe 확장자를 가집니다.

Reference

http://www.tcpschool.com/c/intro

'💻Computer Science > 📕개발 언어 (Language)' 카테고리의 다른 글

[C][Ch.3] C언어 기초2  (0) 2021.07.29
[C][Ch.2] C언어 기초  (2) 2021.07.22
[C++] STL : Vector 사용법과 함수  (0) 2021.03.27
[C++] STL이란 무엇인가?  (0) 2021.03.27
[ETC] 메모리 구조  (0) 2021.03.25