프로그램 개발 단계

  • A4_prgprecessing1.png
    • (1) Coding
      • 소스 파일을 생성하는 단계
      • 헤더파일(.h)과 소스파일(.c)로 저장
    • (2) Preprocessor
      • 선행처리를 하는 단계
      • 선행처리기는 사람과 컴파일러 사이의 매개 역할을 수행하고, 컴파일을 하기 전 사용자가 정의한 내용들을 처리 담당 한다.
        • # 기호로 시작 한다.
        • 세미콜론(;) 을 붙이지 않는다
        • 하나의 명령은 한 줄에서만 가능하다
        • 소스프로그램의 첫 부분에 있어야 한다.
        • 선행처리기의 종류와 기능

          선행처리기

          기능 

           #include

          파일 포함 

           #define

          매크로 정의 

          #if, #else, #elif, #endif 

          조건부 컴파일 

    • (3) Compile
      • 사람이 작성한 소스 파일을 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정
      • 소스 파일을 컴파일 하면 컴퓨터가 이해할 수 있는 기계어들로 변환된 목적 파일(.obj)이 만들어 진다.
      • 목적 파일은 혼자 있을 때는 별 쓸모가 없고, 라이브러리 파일과 목적 파일들로 연결되어 하나의 프로그램이 될 때 의미를 가진다.
    • (4) Linking
      • 컴파일된 목적 파일들을 라이브러리 파일과 연결해서 실행 파일(.exe)로 만들어주는 단계
      • 링킹 단계에서 사용되는 도구가 링커(linker)이다.
      • 이 단계는 컴파일할 때 자동적으로 처리가 된다.




'Development > C' 카테고리의 다른 글

C언어의 정의, 특징  (0) 2019.03.24
C언어의 개요

  • C언어의 정의와 특징
    • 프로그래밍 언어이다. (인간과 컴퓨터가 의사소통 할 수 있는 수단)
    • UNIX 운영체제 개발 사용 목적으로 만들어진 언어이다.
      • UNIX 운영체제는 어셈블리 언어로 만들어졌기 때문에 하드웨어 의존도가 높다. (컴퓨터 기종에 따라 호환성 문제를 가지고 있음)
      • ==> 이런 문제를 해결하기 위해 어셈블리 언어와 비슷하게 컴퓨터 하드웨어를 제어할 수 있는 언어로 개발 되었다.
    • 인간의 언어로 프로그램 작성을 하면 컴파일러는 컴퓨터가 이해할 수 있는 기계어로 번역하는 역할을 수행한다.
    • 실제로는 컴파일러와 컴퓨터 사이에 어셈블러라는 통역가가 하나 더 있다.
      • 사람 --- (컴파일러: 기계어와 가까운 어셈블리 코드로 번역) --- (어셈블러: 어셈블리 코드를 기계어(0,1의 바이너리 코드)로 변역) --- 컴퓨터
      • 기계어 : 0과 1로만 이루어진 명령어를 입력해야 기계가 이해할 수 있는 언어이다.
      • 컴파일러 : 사람이 작성한 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 번역해주는 변역 소프트웨어.
      • 어셈블리어 : 기계어와 1:1 대응된 명령을 기술하고, 기계어를 좀 더 이해하기 쉬운 기호 코드로 나타낸 언어이다.
    • 고급 언어(high-level)로 인간이 이해하기 쉬운 언어이다.
    • 하드웨어 제어가 가능(포인터를 이용한 메모리 접근 등)하여 저급언어의 특성을 지니기도 했다.
    • 프로그램 이식성이 높다.


'Development > C' 카테고리의 다른 글

C프로그램 개발 단계  (0) 2019.03.24

+ Recent posts