0.7 Compiling your first program

주홍영·2022년 3월 10일
0

Learncpp.com

목록 보기
7/199

https://www.learncpp.com/cpp-tutorial/compiling-your-first-program/

이번 챕터 또한 IDE 설치와 첫 실행에 관한 내용이므로 필요한 부분만 기록한다

Projects

IDE에서 c++ 프로그램을 작성하기 위해서 우리는 프로젝트를 만들어야 한다
Project, 란 소스코드파일, 이미지, 데이터 등과 exe 파일을 만들기 위한 library 등과 같은 파일을 담아 놓는 container라고 보면된다
더불어 IDE 세팅과 컴파일러, 링커 세팅 등 다양한 정보를 기억하고 있으며 다시 열었을 때 모든 환경이 변하지 않도록 도와준다.

각 프로젝트는 하나의 프로그램을 의미한다. 만약 너가 새로운 프로그램을 만들거라면 새로운 프로젝트를 만들어야한다. 혹은 이미 존재하는 프로젝트에 code를 덮어쓰거나
또한 프로젝트 파일은 일반적으로 IDE specific 하므로 다른 IDE에서는 새롭게 프로젝트를 만들어야 한다

Worspaces/ Solutions

Solution은 하나 혹은 복수의 프로젝트를 담을 수 있는 container이다
예을들어 게임을 싱글과 멀티로 짰는데
이 두 프로젝트는 완전히 별개의 프로젝트로 볼 수는 없다
따라서 하나의 솔루션에 복수의 프로젝트를 담아둘 수도 있다

What is the difference between the compile, build, rebuild, clean, and run/start options in my IDE?

Lesson 0.5에서 compiler, linker, libraries에 대해서 소개했다

일단 코드가 컴파일 되면 IDE는 obj파일을 cache 해놓는다
이는 다시 컴파일 되었을때 코드가 수정되지 않았다면 다시 컴파일 하지 않을 수 있도록 한다
last time에 cache 해놓은 obj 파일을 다시 사용함으로써
이는 컴파일 타임을 획기적으로 줄여준다 (조금의 디스크 용량도)

앞서 말한 사실을 생각하며 다음 각 옵션이 일반적으로 어떤일을 하는지 설명한다

  • Build 프로젝트나 솔루션에서 수정된 모든 코드파일을 컴파일 한다
    그리고 object file을 exe파일로 link한다. 만약 code 파일이 저번 빌드에서 수정되지 않았다면 이 옵션은 아무것도 하지 않는다

  • Clean Cache된 모든 obj파일과 exe 파일을 지운다. 따라서 다음번에 project가 build되면 모든 코드가 다시 컴파일되고 링크되어서 새로운 exe 파일이 만들어진다

  • Rebuild 'Clean'과 함께 'Build'를 수행

  • Compile 하나의 코드 파일을 다시 컴파일한다 (이 파일이 캐쉬 되어 있건 말건)
    이 옵션은 does not invoke the linker or proudce ana exectuable

  • Run/Start 사전에 Build로 생성된 executable 파일을 실행한다. Visual studio의 경우 Run을 하면 Build도 함께 실행해서 latest 코드가 반영되도록 실행된다

단어장

infamous : 악명높은
ex) Traditionally, the first program programmers write in a new language is the infamous hello world program,
deprive : 박탈하다 빼앗다
ex) and we aren’t going to deprive you of that experience! You’ll thank us later. Maybe.
redundant : 불필요한, 쓸모없는
inspect : 점검하다
ex) so you can inspect the results of the program before continuing.
invoke : 발동하다, 들먹이다
ex) this option does not invoke the linker or proudce ana exectuable (compile설명)
informally : 형식에 구애받지 않고
ex) Although we talk informally about “compiling” our programs

profile
청룡동거주민

0개의 댓글