빌드,컴파일
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 |