728x90
728x90
SMALL
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의 오류 메세지 를 잘 읽어본다
- 검색 엔진의 도움을 받는다. 구글링 !
- 커뮤니티 의 도움을 받는다.
728x90
300x250
LIST
'C │ C++ │ C# > C++' 카테고리의 다른 글
C++ Chapter 1.5 : 네임스페이스, 전처리기 | 2023.08.12 |
---|---|
C++ Chapter 1.4 : 컴파일, 헤더 파일 만들기, 헤더 가드가 필요한 이유 | 2023.08.12 |
C++ Chapter 1.3 : 연산자, 기본적인 서식 맞추기, 선언과 정의의 분리 | 2023.08.11 |
C++ Chapter 1.2 : 키워드 식별자 이름 짓기, 지역 범위 | 2023.08.11 |
C++ Chapter 1.1 : 변수, 입출력스트림, 함수 | 2023.08.10 |