[22.01.04] C++ 개발과정
1. 과정 : CPP 소스 -> 컴파일 -> obj파일 -> 링킹 -> exe파일
2. 소스파일
* cpp소스파일은 cpp확장자의 텍스트 파일이므로 아무 텍스트 편집기로 편집이 가능하다.
3. 컴파일
* 컴파일은 컴파일러를 통해 진행된다.
* 문법에 맞춰 검사를 진행, 문법에 맞지 않는 문제가 있다면 오류를 내보낸다.
* 컴파일을 진행하면 기계어 코드로 번역해 obj(목적)파일로 만든다.
4. 링킹
* obj파일은 cpp소스에서 사용된 표준라이브러리의 클래스나 메소드, 혹은 작성자 본인이 개발한 객체나 함수 등에 대한 [참조 만]이 명시되어 있다.
* 따라서, 링킹은 이 참조를 따라 기계어 코드들을 obj파일과 결합한다.
* 최종적으로 exe(실행)파일을 생성한다.
5. C++ 표준 라이브러리
1) 사용
* 사용할 수 있는 모든 라이브러리는 모두 obj파일로 이루어져 있다.
* 원시 코드는 제공되지 않는다.
* 헤더를 명시해줘야 사용이 가능하다.
2) 종류
* C 라이브러리 : C++은 C언어의 체계를 계승했기 때문에 사용이 가능하다, 라이브러리 명에 'c'가 붙는다.(템플릿이라고 적혀있지는 않았음)
* 표준 입출력 라이브러리 : 입출력과 관련된 C++ 표준 라이브러리이다, 제네릭 사용을 위해 '템플릿'으로 작성되었다.
* STL 표준 라이브러리 : 제네릭 사용을 위해 '템플릿'으로 작성되었다.
** DLL(동적 링크 라이브러리)
- 링킹 과정에서 라이브러리를 참조하지 않는다. -> 실행 과정에서 라이브러리들을 참조한다.
- 다른 응용프로그램들과 호환이 가능하다.
- 프로그램의 크기를 줄이고 속도를 높일 수 있다.