개발 환경 세팅이 필요한 이유 : 프로그래밍 언어별, 버전별로 컴파일 환경이 달라진다.
다음은 백준 온라인 저지에서 C++ 소스 코드를 C++ 14로 컴파일 하는 정보입니다.
일반적으로 다음과 같은 절차로 알고리즘 문제 풀이 결과를 확인합니다.
- 프로그래밍 언어 선택 후 알고리즘 문제 풀이
- 채점 사이트에서 프로그래밍 언어와 버전 선택 후 소스 코드 제출
- 서버에서 채점 진행 (컴파일 되는지 검사, 제한 조건 검사, 출력 결과가 정상적인지 검사)
- 결과 확인
소스 코드를 제출하면 해당 컴파일러 환경에 맞게 서버에서 소스 코드를 컴파일해줍니다. 그렇기 때문에 최대한 비슷한 환경에서 코드를 작성하는 것이 좋습니다.
만약 다른 개발 환경에서 작성한 코드를 제출하면 정상동작 하지 않을 수 있습니다.
ex) msvc 컴파일러를 사용할 경우 문제 없이 동작했던 코드가 gcc환경에서는 정상 동작 하지 않는 것
C++을 위한 통합 개발 환경과 컴파일러 알아보기
통합 개발 환경 (IDE) : Visual Studio, Dev C++, Visual Studio Code 등
컴파일러 : MSVC, GCC, LLVM/Clang 등
저는 Visual Studio 환경에 익숙하기 때문에 Visual Studio 2019를 사용할 예정입니다.
참고로 Visual Studio의 기본 컴파일러는 MSVC이기 때문에 채점 서버에서 사용하는 GCC 컴파일 환경에서도 동작할 수 있도록 코드를 작성할 예정입니다.
(Dev C++이 gcc를 사용하기 때문에 Dev C++를 사용 하기도 합니다.)
이번 포스팅을 작성 하면서 C++컴파일러에 대해 좀 찾아봤는데, 다양한 컴파일러가 있다는 것을 알게 되었습니다.
컴파일러 관련 키워드
- MSVC
- GCC
- MinGW
- g++
- LLVM/Clang
자주 사용하는 헤더파일 사용하기
bits/stdc++.h
많이 사용되는 표준 라이브러리의 모음집으로 알고리즘 대회에서 가장 많이 사용되는 라이브러리입니다.
장/단점이 명확 하므로 상황에 따라 적절히 사용하면 좋을 듯 합니다.
[장점]
- 작업 시간을 줄여줍니다. (시간이 촉박한 환경에서 유리)
[단점]
- <bits/stdc++.h>는 GCC에서 사용하는 헤더로 GNU C++의 표준 라이브러리 헤더가 아닙니다. 그렇기 떄문에 GCC 컴파일러를 사용하지 않는 환경에서는 따로 설정을 해줘야지 사용가능합니다. (GCC는 GNU C++의 일부)
- 컴파일하는 과정에서 불필요한 연산 과정이 포함될 수 있습니다. 그렇기 때문에 컴파일 타임이 증가하거나 파일 크기가 커질 수 있습니다.
[사용 방법]
1. 사용할 프로젝트 파일에 링크 추가
1) stdc++.h를 다운 받습니다
2) bits 폴더를 만들어 해당 헤더파일을 넣어줍니다.
3) Visual Studio에 들어가서, 프로젝트 속성페이지 -> C/C++ -> 일반 -> 추가포함 디렉토리 여기에 bits폴더가 있는 경로를 입력합니다.(bits폴더를 포함하는 상위경로 - 예를들어 desktop폴더-bits폴더-stdc++.h 로 되어있으면, desktop 폴더의 경로를 입력)
2. Visual Studio에 추가.
1) stdc++.h를 다운 받습니다
2) bits 폴더를 만들어 해당 헤더파일을 넣어줍니다.
3) Visual Studio가 설치된 폴더 -> VC 폴더 -> include 폴더
- 제가 사용하는 VS2019 기준으로는
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include"
경로에 해당 폴더가 존재합니다.
4) include 폴더 내부에 bits 폴더를 복사해 넣어줍니다.
'알고리즘 > 알고리즘 이론' 카테고리의 다른 글
Union-Find (0) | 2020.07.01 |
---|---|
그래프 순회(Graph Traversal) - BFS , DFS (0) | 2020.07.01 |
반복과 재귀 (0) | 2020.06.30 |
코딩 테스트 입문 (with C++) (0) | 2020.06.11 |
알고리즘 Orientation (0) | 2020.06.10 |