안녕하세요! 

 

앞으로 저의 주 전공은 아니지만 제가 배워왔던 내용들을 기반으로

 

C언어를 주제로 소소한 정보들을 포스팅 해볼까 해요.

 

최근까지도 핫한 분야이기도 했고 여전히 핫한 인공지능 AI 분야를 이해하기 위한 기초중의 기초이죠.

 

기계어 즉, 컴퓨터 언어를 전문적으로는 아니더라도 흥미를 가져볼 수 있을 정도까지 다뤄볼까 합니다! 

 

 

1. C언어란 무엇인가?

C언어란, 인간과 컴퓨터 사이의 의사소통을 위한 프로그래밍 언어중 하나라고 이해하면 쉽습니다. 

 

이러한 프로그래밍 언어는 C언어를 포함해 C#, C++, Java 등 많은 종류가 존재하고 있긴하지만 

 

그 중 가장 기본이 되는 언어가 C언어 입니다!  

 

그렇다면 잠시 첨언으로 C언어가 만들어지게된 배경에 대해 알아볼까요?

 

C언어가 만들어진 이유는 간단히 요약하자면 C의 장점이라 할수도 있는 프로그램의 이식성과 

 

구조적 프로그램의 적합성을 위해라고 생각하시면 됩니다. 

 

예를 들어 동일한 소프트 웨어를 서로 다른 운영체제를 가진 컴퓨터에 적용시키게 될 경우,

 

예외없이 동일한 동작이 가능하게 하는일은 매우 중요한 문제인데요. 이러한 이식성의 문제를 해결하고자 

 

C언어가 개발되어진 것입니다. 

 

일전에 ALGOL60, B언어 등의 프로그래밍 언어의 개발이 있었지만, 모두 이러한 프로그램 이식성의 한계를 가지고 있어

 

이를 개선하기 위해 개발된 언어라고 합니다.

 

 

 

2. 컴파일러란 무엇인가?

그렇다면 이렇게 개발된 C언어를 어떻게 사용하고 활용하느냐?

 

C언어는 인간이 알아볼 수 있게 만들어진 언어이고, 실제로 컴퓨터 즉 기계가 읽을 수 있고 받아들일 수 있는 언어는 

 

이진법의 숫자(0,1) 입니다.  

 

따라서 인간이 만든 프로그램을 기계가 이해할 수 있도록 기계어로 변환하는 작업이 필요하게 되는데 

 

이때 사용되는 기능이 '컴파일러'입니다. 쉽게 말해 인간과 컴퓨터 사이의 통역관 역할이라 생각하시면 되겠습니다. 

 

 

 

3. 프로그램 작성방법

C언어를 이용해 프로그램을 작성하고 그 프로그램이 컴퓨터 내에서 작동하기 까지의 과정을 

 

다음의 그림으로 요약해 보았습니다. 

 

 

 

기본적으로 4단계에 걸쳐 프로그램 작성 방법이 이루어지게 되는데요 한단계씩 차례대로 간략히 설명드리면

 

  1. 우선 사용자로 하여금 C언어 기반의 프로그램을 작성하여 .c의 확장자를 가진 소스 파일을 만듭니다. 
    (소스 파일은 컴파일이전의 사용자가 작성한 프로그램 원본을 의미합니다. )

  2. 이후 컴파일러를 통해 프로그래머가 작성한 .c 파일을 컴파일 시키면 obj의 확장자를 가진 오브젝트 파일이 생성됩니다. 이는 이진수 언어로 구성된 기계어 파일이라 생각하시면 됩니다. 

  3. 다음 단계에서는 .obj의 오브젝트 파일을 링커가 가지고가 통합 개발 소프트웨어의 자체적으로 내장되어 있고 제공하는 library(표준함수)와 함께 .exe 확장자를 가진 실행파일을 생성하게 됩니다. 

  4. 마지막으로 실행파일을 실행시키면 로딩과정을 거쳐 프로그래머가 작성한 프로그램을 결과값으로 최종실행 시킵니다. 

 

위와 같은 절차에 따라 프로그램의 작성 및 실행이 이루어지게 됩니다.

 

 

다음에는 이러한 프로그램을 직접 작성하고 실행시킬 수 있는 대표적 통합 개발 소프트웨어인 Visual Studio

 

설치하고 이용하는 방법에 대해 알아보도록 하겠습니다.

 

기대해 주세요~ 

 

+ Recent posts