본문 바로가기
기계공학부 시절의 기록/C++일기

따배씨++ 시작

by juhyeonglee 2021. 4. 30.
728x90
반응형

공부이유)

ROS를 다루면서도 C++이 소스코드로 필요했다.

C++을 익힌 뒤 어떠한 언어에도 쉽게 접근이 가능하다.

Python도 내부적으로 c++로 돌아간다.

데이터가 사람을 대신해 일하게 하기 위해서

 

공부방법)

좋은 예술가는 따라하고

위대한 예술가는 훔친다

처음은 따라하는 것부터 시작하자.

 

첫 시작에서 틀을 이해하는 것이 중요하다. 이번 글 이후로는 기록하기 보다는 빠르게 수업을 듣고 예제를 하는 것에 집중할 계획이다.

 

이번 글에서는 IDE환경에서 코드를 WRITE하고 COMPILE했을 때 어디에 어떻게 파일들이 만들어지고 어떻게 실행되는지 정리하였다.

 

자료출처

www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz


 

강의0.1 컴파일러와 인터프리터

-컴파일러(대표적인 컴파일언어 : C/C++)

코드 - 컴파일러 - 실행파일(.exe) - 중앙처리장치 CPU - 실행결과

컴파일러는 우리가 작성한 소스코드를 CPU가 실행할 수 있는 실행파일로 바꾸어 준다. 이 실행파일은 하드디스크에 저장되는데 저장된 파일을 그때그때 꺼내 써서 속도가 빠르다.

 

-인터프리터(대표적 인터프리터언어 : Python)

스크립트(=코드) - 인터프리터 - CPU - 실행결과

특징 : 실행파일이 생성되지 않는다.

 

??? : 실행파일을 만들지 않으니, 인터프리터언어가 더 빠르지 않나요??

동일한 코드를 반복실행할 때, 실행파일이 없다면 여러번 인터프리터를 거쳐야하므로 오히려 속도가 더 느리다.

 

강의0.3 프로그래밍 과정

1단계 문제정의

2단계 해법설계

3단계 해법을 구현하는 프로그램 write

4단계 프로그램 compile

5단계 object파일들을 linking한다

6단계 테스트 후 문제가 있다면 debuging

 

* 하나의 소스코드를 compile하면 하나의 object파일을 만든다.

* 분업을 통해 만든 object파일들과 Opensource들을 linking할 수 있다. 적절한 Opencsource를 활용하는 것도 중요한 역량이다.

 

강의 0.4.0 Hellow World!

간단한 프로그램 만들어보고 실제로 어떤 과정을 거쳐서 출력되는지 파악

그럼처럼 파일이 저장된 파일을 열 수 있다.

파일구성

solution파일 - project파일 - source.cpp

하나의 solution파일에 여러개의 project파일을 가질 수 있다. proj1은 cpp로, proj2는 python으로 만들어 쓸 수도 있다.

compile하는 것은 실제로 proj파일 안의 source.cpp이고 그 결과 실행파일(.exe)이 solution파일 차원의 debug파일 내에 존재한다.

IDE에서 compile하고 실행까지 할 수 있지만 cmd창에서 실행파일의 경로로 들어가 실행파일을 실행할 수도 있다. 이것이 좀더 근본적으로 실행파일이 실행되는 원리이다.

하나의 solution파일 아래에서 여러개의 project파일을 추가할 수 있고 어떤 build 후 생성된 각각의 실행파일들 중에서 어느 실행파일을 실행시킬지는 project파일에서 우클릭에서 set as startup project를 클릭하면 해당 project의 실행파일이 실행된다.

*source.cpp에서 모든 project파일의 소스코드 이름이 같으면 헷갈릴 수 있다. 적절한 이름으로 바꾸어 만들자.

 

debug build와 release build

debug build를 했을 때 만들어지는 실행파일과 release build를 했을 때 만들어지는 실행파일은 다르다. 

release가 실사용자들에게 배포용으로 만들어지는 것으로 용량이 상대적으로 많이 작다.

 

 

 

 

 

728x90
반응형

댓글0