빌드,컴파일

2020. 9. 18. 16:33컴퓨터 수업/C++

@어떻게 실행파일. exe를 만드는가?

 

@1은 editor를 의미한다.

뭐 메모장이 될 수도 있겠고, IDE가 될 수도 있겠당(Visual Studio,eclipse 등..)

여기까지 행하면 .cpp 파일을 생성한다.

@2는 preprocessor를 의미한다.

#include <iostream>
#include "UnsortedType.h"
#defien MAX_ITEMS 100

위 3줄이 모두 전처리기를 의미한다.

@3은 컴파일 타임을 의미한다.

즉 우리가 1에서 만든 소스코드를 바이너리 코드로 바꿔주는 일을 뜻한다 (컴퓨터가 알아먹는 단어로 만들기).

여기까지 행하면 .obj 파일을 생성할 수 있다.

@4는 여러외부 프로그램들을 엮는 행위라고 하는데 우리는 밑의 그림으로 이해하자.

@이건 솔루션-프로젝트를 그저 생성만 했을 때 물리적인 파일의 위치와 내용이다.

@main. cpp의 내용은 다음과 같다.

#include <iostream>
using namespace std;

int main()
{
	int integer[10];

	for (int i = 0;i < 10;i++)
	{
		integer[i] = i * 10;
	}
}

@Visual Studio의 Ctrl+F7 만 눌러서 컴파일'만' 진행해 보았다.

프로젝트의 Debug에 obj 파일은 생성 되었으나, 그 상위 폴더의 Debug에 exe 파일이 생성되지 않았다.

(예상 확인!)

@Visual Studio의 Ctrl+B를 눌러 빌드'만' 진행 해 보았다.

프로젝트의 Debug에 obj 파일도 생성되고, 그 상위폴더의 Debug에 exe 파일 또한 생성되었다.

 

@따라서

#빌드는 preprocess, compile, link 이 3가지 행위를 전부 뜻한다. 이 모든 일들을 행하는 것을 "빌드"라고 한다.

#컴파일은 그저 소스코드(. cpp)를 바이너리 코드(. obj)로 만드는 것이다. 이걸론 User가 이용할 수 없다.

'컴퓨터 수업 > C++' 카테고리의 다른 글

string 라이브러리  (0) 2020.09.23
디버깅  (0) 2020.09.18
main함수의 아규먼트// argc & argv  (0) 2020.09.18
파일 입출력(fstream)  (0) 2020.09.14
const에 관한 얘기  (0) 2020.09.13