Microsoft Visual Studio 를 하다보면 소스 코드를 작성해 놓고 아무것도 모르고 F7, Ctrl + F7, Ctrl + F5 를 누루는 경우가 있다.

위 작업들은 '빌드, 컴파일, 디버깅하지 않고 실행'에 해당한다. 이러한 것들을 좀 명확히 알고 사용할 수 있도록 하자.


컴파일이란 소스 코드로 작성해 놓은 것을 컴퓨터가 알아들을 수 있는 언어로 바꾸어 주는 과정을 의미한다. 컴퓨터가 알아들을 수 있는 언어란 기계어로 '바이너리' 라고 한다. 단순히 해당 소스 코드를 해당프로그래밍 언어의 문법에 맞는 검사하여 오류가 없다면 기계어로 번역해준다. 
컴파일된 소스파일은 .c 에서  오브젝트 파일로 변환된다. 변환된 오브젝트 파일은 윈도우에서는 확장자를 .obj 로 갖고 리눅스 또는 유닉스에서는 .o 로 갖는다. 그러나 오브젝트 파일은 실행 파일이 아니다. 따라서 확장자 .exe 로 생성 되지 않는다.

- 현재 활성화 중인 창에 열려 있는 CPP 하나만 문법 검사 및 기계어로 변환 시킨다. 컴파일 단축키 : Ctrl + F7



실행파일을 생성 하는 작업을 링크 라고 한다. 링크는 컴파일로 이미 만들어진 기계어코드를 라이브러리와 연결시켜서 실행가능한 파일로 만들어내는 역할을 한다. 이때 참고로 빌드라는 것이 있는데 빌드는 컴파일과 링크를 합친 과정이라고 생각하면 쉽다. 소스코드를 작성한 후에 컴파일 과정을 거치지 않고 빌드를 하게 되면 컴파일과 링크를 모두 실행하게 되며 컴파일 과정을 거친 후에 빌드를 하게 되면 컴파일 과정을 생략하고 생성되어 있는 오브젝트 파일에 링크 작업을 수행하여 실행파일을 만든다.

- .c 파일을 컴파일한 후에 생성되는 .obj 파일들을 이용하여 링크 작업을 해야 .exe 파일이 만들어진다. 빌드 단축키 : F7


'Language > C언어' 카테고리의 다른 글

반복문 for 의 함정  (1) 2013.10.23
강제 형 변환  (0) 2013.10.23
라이브러리와 헤더파일의 차이  (0) 2013.10.23
잘못된 포인터의 사용 1  (0) 2013.10.23
포인터, 배열, 포인터 배열 비교  (0) 2013.10.23
Posted by 나무길 :