C 언어 컴파일러와 첫 C 프로그램

Hello, World!는 대부분의 프로그래밍 입문자가 처음 접하는 예제 코드입니다. 이 예제는 고전 C 서적 《The C Programming Language (Second Edition)》(KR2) 저자가 최초로 만들었으며 전 세계로 퍼져 지금까지 거의 모든 프로그래밍 언어의 첫 예제로 사용됩니다.

오늘 이 고전 예제로 여러분의 첫 C 언어 프로그램을 작성해 보겠습니다.

C 코드를 작성하기 전 컴파일러를 다운로드해야 합니다. 다운로드 링크:Download i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z (MinGW-w64 – for 32 and 64 bit Windows) 컴파일러가 무엇일까요?

컴파일러란 무엇인가요?

컴퓨터는오직 이진수 0과 1만 인식하며 사람이 작성한 C/C++, Python, Java 등의 코드를 이해할 수 없습니다. 컴파일러는 일종의번역 도구로, 사람이 읽을 수 있는고급 언어 소스 코드를 한 번에 CPU가 직접 실행 가능한기계어(이진 실행 파일 exe)로 변환합니다.

즉 컴파일러는 인간이 작성한 C 코드를 컴퓨터가 알아볼 수 있는 01 명령으로 바꿔주며 이 기계어만 CPU가 실행할 수 있습니다. 컴파일러가 없다면 여러분이 쓴 C 코드는 일반 텍스트 파일과 다를 바 없습니다. 모든 프로그래밍 언어의 본질은 해당 언어 전용 컴파일러이며 언어 문법, 규칙 전부 컴파일러로 구현됩니다.

위 링크로 Windows용 컴파일러 패키지를 다운로드하세요. 참고: Unix 시스템은 cc 컴파일러를 사용하고 Windows는 GCC 컴파일러를 사용합니다.

주요 C 언어 컴파일러 종류

1 GCC

정식 명칭 GNU Compiler Collection. 오픈소스 무료 툴로 C/C++/Objective-C 등을 지원하며 Windows/Linux/macOS 크로스 플랫폼을 지원합니다.

MinGW-w64는 툴체인 패키지로 내부에 GCC 컴파일러가 포함되어 있습니다.

2 Clang (LLVM)

LLVM 아키텍처 기반으로 개발되었으며 macOS/iOS 기본 컴파일러이고 Windows에도 설치 가능합니다.

3 MSVC

Microsoft Visual C++ 약자로 마이크로소프트 Windows 기본 컴파일러이며 Visual Studio에 기본 탑재되고 Qt 개발 환경에서도 사용할 수 있습니다.

명령행 실행 툴: cl.exe

4 Tiny C Compiler

exe 파일을 생성하지 않고 C 코드를 직접 실행할 수 있으며 스크립트 언어와 유사한 방식으로 사용합니다.

그 외 다른 C 컴파일러도 있지만 여기서 생략하며 Turbo C 같은 구식 컴파일러는 현재 사용하지 않습니다.

학습 초기에는 MinGW-w64 내 GCC를 사용하고 이후 MSVC와 Visual Studio로 C 개발을 진행할 수 있습니다.

MinGW 설치 방법

위 다운로드 링크가 작동하지 않을 경우 이 링크를 이용하세요:Download MinGW-w64 – for 32 and 64 bit Windows

압축 파일을 다운로드한 후 압축을 풉니다:

MinGW 압축 해제 폴더

내부에 gcc.exe 파일이 보이며 파일 크기는 단 1.77MB입니다.

압축 해제한 전체 폴더를 원하는 경로로 복사합니다. 예시 경로:D:\mingw64 다른 드라이브로 옮겨도 무방합니다.

그 후 bin 폴더 경로를 시스템 환경 변수 Path에 등록합니다.

  • 「이 PC」우클릭 → 속성
  • 오른쪽「고급 시스템 설정」→「고급」탭
  • 하단환경 변수 클릭,「시스템 변수」에서 Path 더블클릭 편집,「새로 만들기」누르고 경로 D:\mingw64\bin 붙여넣기
  • 열린 모든 설정 창을 확인 눌러 저장

주의: D:\mingw64\bin 안에 gcc.exe 파일이 존재해야 합니다. 일부 다운로드 패키지는 내부 bin 하위 폴더에 gcc.exe가 있으니 경로를 확인하세요.

GCC 설치 정상 확인 방법

CMD 명령 프롬프트를 열고 아래 명령 실행

gcc --version
혹은
g++ --version

아래 버전 정보가 출력되면 설치 성공입니다.

C:\Users\Jack>gcc --version
gcc (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Code language: CSS (css)
C:\Users\Jack>g++ --version
g++ (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Code language: CSS (css)

두 명령 모두 정상 사용 가능합니다. 환경 확인이 끝나면 첫 C 프로그램을 만들어 보겠습니다.

C 드라이브나 다른 드라이브 루트에 cdemo 폴더를 생성하고 텍스트 파일을 만든 뒤 hello.c로 이름을 바꿉니다.

메모장으로 hello.c를 열고 아래 코드를 붙여넣으세요.

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}Code language: C/AL (cal)

CMD를 열고 cd 명령으로 해당 폴더로 이동합니다.

GCC 명령으로 컴파일을 진행합니다. 컴파일이란 소스 코드를 컴퓨터가 읽을 수 있는 이진 01 명령으로 변환하는 작업을 의미합니다.

컴파일 및 실행 방법

CMD를 열고 프로그램 폴더로 이동

C:\cdemo>gcc hello.cCode language: CSS (css)

이 명령 실행 후 별도 출력 메시지가 없습니다.

하지만 폴더 내에 a.exe 실행 파일이 자동 생성됩니다.

이것이 컴파일 완료된 프로그램인데 어떻게 실행할까요?

a만 입력하면 실행되며 확장자.exe는 생략해도 됩니다.

C:\cdemo>a
hello, world
전체 컴파일 실행 과정

실행 파일 이름 지정하기

파일 이름을 지정하지 않으면 기본값 a.exe로 생성됩니다.

아래 명령으로 원하는 exe 파일명을 지정할 수 있습니다.

gcc hello.c -o hello.exeCode language: CSS (css)

폴더를 열어보면 hello.exe가 생성되어 있으며 원하는 이름으로 자유롭게 변경 가능합니다.

이번 강의는 여기까지입니다. 직접 전 과정을 따라 해보며 컴파일러의 역할과 프로그램의작성, 컴파일, 실행 순서를 이해하시기 바랍니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다