Date: 2020.06.02 Updated: 2020.06.02
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
0.0 C++ 꼭 공부해야 할까?
공부 방법
- 예제를 많이 베끼며 연습해라
- 좋은 예술가는 베낀다
- 위대한 예술가는 훔친다
- 올바른 타이핑 방법을 연습한다.
- 간단한 개념을 이해한다.
- 예제를 따라해본다.
- 문제가 생기면 해결한다.
- 예제를 내 맘대로 바꿔본다.
0.1 프로그래밍 언어란
종류
- C, C++, Java
- 코드 → 컴파일러(기계어로변환) → 실행파일 → CPU,메모리로 실행결과 내기
- Python, JavaScript
- 코드 → 인터프리터 → CPU,메모리로 실행결과 내기
- 인터프리터를 사용함으로써 실행 파일 안만들고 바로 바로 한줄마다 CPU로 돌림
- 대신 컴파일러 쓰는 언어에 비해 느리다.
이식성 Portability
- 이식성이 없는 언어라면
- 플랫폼마다 컴파일러가 추가적으로 더 필요하다
- ex) 윈도우용컴파일러, 리눅스용컴파일러, 윈도우용실행파일, 리눅스용실행파일
- 플랫폼마다 컴파일러가 추가적으로 더 필요하다
- 이식성이 있는 언어라면
- ex) Java
- 컴파일러는 1개만 있으면 어느 플랫폼에서든 쓸 수 있음.
- 컴파일러가 바이트코드를 생성
- 플랫폼마다 가상 기계가 있어야한다.
- 윈도우 가상기계, 리눅스 가상기계
- 각 가상 기계가 이 바이트 코드를 돌려 실행 결과를 만들어낸다.
0.2 C/C++ 언어 소개
C, C++의 철학
- C++은 C에서 객체지향 개념이 추가된 것
- 프로그램의 자율성이 높다.
- 실제 세계에서 쓸모가 있어야 한다.
- 프로그래머가 스스로 스타일을 선택할 수 있어야 한다.
- 유용한 기능을 추가하는 것이 오용보다 중요하다.
- 프로그래머의 의도를 알 수 없다면 스스로 명시하게 한다.
- C++아래에 다른 언어는 없다, (어셈블리어는 예외)
0.3 프로그래밍 과정 소개
- 풀어야 할 문제를 정의한다.
- 해법을 설계한다.
- 해법을 구현하는 프로그램을 작성한다.
- 프로그램을 컴파일 한다.
- 파일 1개 단위로 컴파일해서 각각 obj 오브젝트 파일을 따로 만든다.
- obj 오브젝트 파일들을 링킹한다.
- obj파일들을 링킹하여 하나의 실행파일로 만든다.
- include한다른 외부 라이브러리들것도 합침
- 디버깅한다.
- 테스트 해보고 문제가 있으면 고친다.
0.4 통합개발환경 IDE의 기본적인 사용법
😀 Windows Visual Studio 기준
- 옵션 - 국가별 설정 에서 언어를 바꿀 수 있다.
- 영어판 사용 추천!
- 오류메세지 검색하기 좋다
- 영어판 사용 추천!
- 코드파일 in 프로젝트 in 솔루션
- 빌드 : 실행파일을 만드는 과정
- 솔루션 정리 : 빌드한 것 삭제
- obj, exe 파일들 삭제
- 모드 종류
- 디버그 모드 : 디버그를 도와주는 것들끼리 같이 저장되어 있어 용량이 매우 크고 느림
- 릴리즈 모드 : 딱 최소한으로 사용자들이 쓰도록 하는 용도의 실행파일! 빠르고 용량 작다.
- 배포 용은 릴리즈 모드
- x86 → 32bit / x64 → 64bit
- cd) 비쥬얼 스튜디오 말고 다른 IDE 중에 코드 블럭스 라는 것도 있다!
비쥬얼 스튜디오 솔루션, 프로젝트 관리
- 1개의 솔루션 - 프로젝트1 - main.cpp - kgkg.h - kgkg.cpp - 프로젝트2 - hello.h - hello.cpp - gogo.cpp
- 각 프로젝트마다 언어가 달라도 된다.
- 프로젝트 별 exe 실행 파일들은 솔루션 밑에 Debug 폴더에 모여있다.
- 우클로 시작 프로젝트를 바꿀수 있다.
- 굵은 글씨로 되있는게 현재 이 솔루션의 시작프로젝트
- 빌드하면 시작 프로젝트가 실행되기 때문에 다른 프로젝트로 바꾸려면 시작 프로젝트 바꿔줘야 함
- 솔루션을 빌드하면 그 안에 있는 프로젝트들도 싹 다 빌드된다.
0.5 코딩하다 막혔을 때는?
- 당황X 분노X
- 잘 안풀리는 상황이 날 발전시키는 상황이라고 생각하자.
- IDE의 오류 메세지를 잘 읽어본다
- 검색 엔진의 도움을 받는다. 구글링 !
- 커뮤니티의 도움을 받는다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
맨 위로 이동하기
Cpp 카테고리 내 다른 글 보러가기
| 8) C 언어를 배우기에 좋은 사이트C 언어 공부 사이트
프로그래밍 실력 테스트 사이트
|