C, 개발환경, 구축, Windows, Mac, Hello World


C 공부시작


최호성님이 집필하신

독하게 시작하는 C 프로그래밍을 교재로

공부한 내용을 정리합니다.

dok_c

이 책으로 공부를 시작하는 이유는

인터넷에 보면 개발자 필독서 50권이란 리스트가 있습니다.

그곳에서 추천하는 C 책 중 하나가 마음에 들었는데,

그 책이 절판이 되서 같은 작가님의 다른 책으로 공부하기로 결정했습니다.




C 언어


C 언어에 대해서 간략하게 설명하고

개발환경 구축으로 넘어가겠습니다.


  • UNIX 운영체제 개발을 목표로 만들어졌다.
  • 데니스 리치(Dennis Ritchie)가 B언어를 발전시켜 만들었다.

UNIX는 현대 운영체제의 원형이 된 OS로

윈도우를 제외한 OS(리눅스, 안드로이드, macOS, iOS 등)들이

UNIX를 뿌리로 하고있습니다.


B언어가 있다는 건 처음 알았습니다.

검색해보니 A언어가 발전되어 B언어가 됬다고 합니다.




개발환경 구축(Windows & Mac OS)


Windows(Visual Studio 2017)


C 개발 환경을 구축하는 방법은 다양합니다.

여기서는 책에 나온 방법인 간단간단한

Visual Studio를 이용한 방법을 택하겠습니다.

visual_studio

Visual studio는 MS가 만든 통합 개발도구입니다.

이 안에는 다양한 개발툴이 있는데,

여기서 우리는 Visual C++을 사용합니다.

일단 다운을 받기위해 구글에 visual studio를 검색합니다.

search_vs

친절하게 다운받는 링크가 나와있습니다. 들어가면…

down_vs1

어쩌고저쩌고… 아래쪽에 보면 다운받는 링크가 있습니다.

들어가면 다음과 같은 페이지로 이동합니다.

down_vs2

다양한 버전이 있는데,

무료버젼인 Community 버전을 선택합니다.

(혼자 공부하는데는 무료버전도 충분합니다)

다운받은 파일로 설치를 하면 되는데,

중요한 점이 있습니다.

install_vs

C++를 사용한 데스크톱 개발을 체크하고 설치해야합니다.

저걸 체크해야 Visual C++이 설치됩니다.

다른건 체크안해도 상관없습니다.


설치 후, 실행해보면 나오는 창 중

테마를 선택하라는 창이 나옵니다.

vs_choice_theme

나중에 언제든지 바꿀 수 있으니,

아무거나 선택해도 큰 상관없습니다.

저는 어두운 버전을 선택해서 화면이 어둡습니다.


이제 Hello World 코드를 작성해보겠습니다.

VS(Visual Studio)에서는 코드 파일을 작성하려면

먼저 프로젝트를 생성해야합니다.

한 프로젝트 안에 여러 코드 파일이 들어가게 되는 것이죠.

[파일] -> [새로 만들기] -> [프로젝트]

vs_new_project

그럼 아래와 같은 화면이 뜹니다.

vs_naming_project

좌측 메뉴에서

[Visual C++] -> [Windows 데스크톱]

그리고 중간 메뉴에서 [Windows 데스크톱 마법사]를 선택합니다.

그리고 아래에 있는 이름과 위치를 설정해줍니다.

이름은 프로젝트 이름을 정해주는 것인데,

아마 이름을 쓰면 맨밑에 솔루션 이름도 같이 바뀔 것입니다.

솔루션을 간단히 설명하자면,

여러 코드파일이 모여 프로젝트가 된다면,

여러 프로젝트가 모여서 솔루션이 되는 것입니다.

지금은 일단 넘어갑니다.

그리고 위치는 이 프로젝트의 저장 위치입니다.

원하는 곳으로 지정합니다.

그리고 확인을 누르면 다음과 같은 창이 뜹니다.

vs_project_check

그림에 나온대로

응용 프로그램 종류는 콘솔 응용 프로그램으로,

추가옵션은 빈 프로젝트만 체크하고 나머지는 모두 체크해제합니다.

그리고 확인을 클릭하면 드디어 프로젝트 설정이 끝나고

다음 화면이 뜹니다.

vs_after_make_project

코드 파일은 우측에 솔루션 탐색기에 보이는

소스파일 폴더에 만듭니다.

vs_make_new_file1

[소스파일 우측클릭] -> [추가] -> [새 항목]

그럼 다음과 같은 창이 뜹니다.

vs_make_new_file2

여기서 C++ 파일(.cpp)를 선택하고,

아래에 이름(파일명)을 써줍니다.

주의사항은 파일 이름 뒤에 .c 붙여야 한다는 것입니다.

안붙이면 c++ 파일로 만들어집니다.

추가 버튼을 누르면 드디어 다음과 같이 코드 파일이 만들어집니다.

vs_make_new_file3

이제 다음과 같이 c 코드를 써봅니다.

#include <stdio.h>

int main(void)
{
	printf("Hello World! \n");
	return 0;
}

vs_hello_world_code

이 코드를 실행하려면, 컴파일링크라는 과정을 거쳐야하는데

이 두 과정을 합쳐서 빌드(Build)라 부릅니다.

빌드 == 컴파일 + 링크

간단하게 컴파일(Complie)링크(Link)에 대해서 알아보면

우리가 방금 작성한 위의 코드는 HelloWorld.c 파일에 저장됩니다.

이 코드는 인간이 작성했고, 인간이 알아먹을 수 있는 코드입니다.

하지만 기계(CPU)는 못알아먹습니다.

기계가 알아먹을 수 있는 명령어로 번역하는 과정이 컴파일입니다.

컴파일 과정을 거치면 HelloWorld.obj라는 파일이 만들어지는데

이 obj파일을 실행 가능한 기계어 코드로 바꿔

실행파일(.exe)로 만드는 과정이 링크입니다.

지금은 .c 파일이 하나밖에 없어서 .obj 파일도 하나밖에 없지만,

보통 실제 개발할 때는 한 프로젝트에는 여러 코드 파일이 포함됩니다.

게임을 예로 들면, 대부분의 게임은 설치 후,

설치폴더를 보면 수많은 파일이 있지만, 결국 실행파일은 exe파일 하나죠.

이렇게 한 프로젝트 안에 있는 여러 obj파일을 묶어서

하나의 exe파일을 만드는 과정이 링크입니다.


메뉴에서 [빌드] -> [솔루션 빌드] 로 빌드하면

다음과 같이 아래에 빌드 결과가 나옵니다.

vs_build_result

뭔가 오류가 났다면 위의 코드를 잘못 썻을 확률이 높습니다.

빌드 후에, 프로젝트 폴더를 살며보면 위에서 설명한

.c, .obj, .exe 파일을 발견할 수 있습니다.

.c: ..₩Projects₩HelloWorld₩HelloWorld
.obj: ..₩Projects₩HelloWorld₩HelloWorld₩Debug
.exe: ..₩Projects₩Debug

실행을 하려면 아래와 같이

[디버그] -> [디버그하지 않고 시작]

vs_not_debug_run

그럼 드디어… 결과창이 뜹니다.

vs_helloworld_run


Mac OS(Xcode)


맥에서도 c 개발환경 구축하는 법은 여러가지가 있습니다.

그 중에서 여기선 가장 간단한 방법인 Xcode를 사용하겠습니다.

app_store_xcode

App store에서 Xcode를 설치합니다.

(설치시간 매우 오래 걸림 주의)

설치 후, 실행하면 다음 화면이 뜹니다.

Xcode_first_face

여기서도 코드파일을 만드려면 먼저 프로젝트를 생성해야합니다.

[Create a new Xcode project]를 선택합니다.

그럼 다음과 같은 화면이 뜹니다.

xcode_make_new_project

[macOS]->[Command Line Tool] 을 선택합니다.

그럼 다음과 같이 프로젝트 이름을 설정하는 창이 뜹니다.

xcode_naming_project

다른 이름들은 C 공부하는데는 별 상관없지만

마지막에 Language를 꼭 C로 지정해야합니다.

그리고 next를 누르면 다음과 같이

프로젝트 저장 위치를 설정하는 창이 뜹니다.

xcode_set_repository

그럼 드디어 다음 화면이 뜨면서 프로젝트가 생성됩니다.

xcode_new_project

코드는 좌측 메뉴에 main.c 에서 작성합니다.

xcode_initial_main

처음에 main.c 를 살펴보면 이미

Hello World 코드가 작성되어 있습니다.

혹, 없으신 분들은 위의 코드를 다시 작성하시면 됩니다.

코드 실행은 좌측 상단에 빨간 네모로 표시해둔 재생버튼 누르면 됩니다.

그러면 우측 하단에 빨간 네모로 표시해준 곳에 결과가 뜹니다.