C 언어로 첫 번째 프로그램 만들기: Hello World

코드 작성부터 실행까지의 전 과정

1. 첫 번째 C 프로그램 작성

C 언어에서 모든 프로그램은 하나 이상의 함수(function)로 구성된다. 그중에서도 프로그램의 시작 지점은 반드시 main 함수여야 한다. 이 함수가 없으면 프로그램은 실행될 수 없다.

다음은 간단한 "Hello World" 출력 프로그램이다:

#include <stdio.h>

int main() {
    printf("Hello World\n");
    return 0;
}
  • #include <stdio.h>: 표준 입출력 기능을 사용하기 위한 헤더 파일 포함
  • printf(...): 화면에 문자열을 출력하는 함수
  • \n: 줄바꿈을 의미하는 이스케이프 시퀀스
  • return 0;: 프로그램이 정상적으로 종료되었음을 운영체제에 알림

이 코드는 확장자가 .c인 파일(예: hello.c)로 저장해야 한다.

2. 컴파일 과정

작성한 소스 코드는 컴퓨터가 직접 실행할 수 없으므로, 먼저 컴파일해야 한다. macOS에서는 clang 또는 cc 명령어를 사용할 수 있다.

터미널에서 다음 명령어로 컴파일한다:

cc -c hello.c

성공하면 동일 디렉터리에 hello.o라는 오브젝트 파일(object file)이 생성된다. 이 파일은 아직 실행할 수 없다.

컴파일 중 문법 오류가 있으면 다음과 같은 메시지가 출력된다:

hello.c:3:1: error: unknown type name 'intt'
intt main()
^
hello.c:5:32: error: expected ';' after expression
    printf("Hello World\n")
                               ^

모든 오류를 수정한 후 다시 컴파일해야 한다.

3. 링크 과정

오브젝트 파일은 단독으로 실행할 수 없으며, 필요한 라이브러리와 결합되어야 완전한 실행 파일이 된다. 이 과정을 링크(linking)라고 한다.

다음 명령어로 링크한다:

cc hello.o

성공하면 a.out이라는 기본 이름의 실행 파일이 생성된다. 이름을 지정하려면 -o 옵션을 사용한다:

cc -o hello hello.o

또는 소스 파일에서 직접 컴파일과 링크를 한 번에 수행할 수도 있다:

cc -o hello hello.c

4. 프로그램 실행

생성된 실행 파일은 터미널에서 다음과 같이 실행할 수 있다:

./hello

실행 결과:

Hello World

이렇게 해서 C 언어로 작성한 첫 번째 프로그램이 성공적으로 실행된다.

5. 개발 흐름 요약

  1. 작성: .c 확장자의 소스 파일 작성
  2. 컴파일: 소스를 오브젝트 파일(.o)로 변환
  3. 링크: 오브젝트 파일과 라이브러리를 결합해 실행 파일 생성
  4. 실행: 최종 실행 파일을 통해 프로그램 동작 확인

6. 주요 명령어 정리

명령어 설명
cc -c file.c 소스 파일을 오브젝트 파일로 컴파일
cc file.o 오브젝트 파일을 링크하여 a.out 생성
cc -o name file.c 소스를 컴파일하고 링크하여 name이라는 실행 파일 생성
./a.out 현재 디렉터리의 실행 파일 실행

7. 학습 팁

  • 문법보다 사용법 우선: 처음에는 코드의 정확한 의미보다 작동 방식에 집중하자.
  • 가독성 유지: 들여쓰기와 줄 바꿈을 통해 코드를 읽기 쉽게 작성해야 협업과 유지보수가 용이하다.
  • 오류는 친구다: 컴파일 오류 메시지를 잘 읽고 수정하는 연습을 하자. 이는 디버깅 능력 향상에 큰 도움이 된다.

태그: C Clang GCC 컴파일 링크

8월 13일 09:05에 게시됨