티스토리 뷰

반응형

2022.04.05 - [PS 갤러리/Tips & Tricks] - [C++] C++의 무적 헤더 <bits/stdc++.h> 는 무엇인가?

 

[C++] C++의 무적 헤더 <bits/stdc++.h> 는 무엇인가?

여러 경쟁적 프로그래밍 대회나 답변들을 보면 가 자주 쓰이는 것을 볼 수 있다. 또한, 나는 주렁주렁 여러 헤더를 달 동안, 옆의 사람은 간단히 하나의 헤더로 끝내는 것을 보면 괜히 부럽기도

0xffffffff.tistory.com

 

위 글에서 <bits/stdc++.h>의 단점으로 "느리다"를 꼽았다. 하지만, Pre-compiled 헤더를 사용하면 시간을 단축시킬 수 있다고 하였다. Pre-compiled 헤더를 직접 프로젝트 안에 쓰자. 특히, 알고리즘 문제 해결을 하는 사람들에게는 아주 좋은 꿀팁이라 생각한다.

 

g++를 사용하는 사용자를 기준으로 작성되었다.

 

1. 헤더 <bits/stdc++.h> 이 위치한 곳으로 이동한다.

 

C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++\mingw32\bits (Windows)

/usr/include/x86_64-linux-gnu/c++/9/bits (Linux)

 

 

만약 C 폴더 밑에 MinGW를 설치하였다면 위의 경로에 있는 폴더를 연다. 만약 다른 경로에 설치하였다면, 앞의 경로에서 필요한 경로만큼 따라 들어가면 된다.

만약 경로에 잘 도착했다면 위의 경로에서 stdc++.h를 발견할 수 있을 것이다.

이곳에서 Shift + (마우스 우클릭)을 하여 "여기에 Powershell 창을 열기"를 선택하여 준다. 리눅스의 경우 터미널에서 진행하면 된다.

 

2. Powershell / Terminal에서 다음과 같이 입력한다.

 

Powershell 창 (파란 창) / Terminal 창 (검은 창)에서 다음과 같이 입력한다.

 

g++ -(컴파일러 종류) -std=(c++ 버젼) stdc++.h

 

컴파일러 종류에는 자신이 C++에서 사용하는 컴파일러 종류를 넣으면 된다. (모르겠으면 O2 넣으면 된다.)

 

C++ 버젼에는 자신이 사용하는 C++ 버전을 넣어주면 된다. 필자는 C++17을 사용하기에 "c++17"을 넣어주었다. (만약 C++14를 사용한다면 "c++14"와 같이 넣어주면 된다.)

 

필자의 경우 다음과 같이 파란색 창에 이렇게 넣어주었다.

 

모르겠으면 이렇게 넣자.

이와 같이 넣은 이후, 폴더에 새로운 파일 (stdc++.h.gch) 이 생긴 것을 확인할 수 있다. 이 파일이 Pre-compiled 헤더이다.

stdc++.h.gch 라는 Pre-compiled 헤더가 생겨났다.

 

모든 준비는 끝났다. 이제, Pre-compiled 헤더를 사용하기 위해선 코드에 #include "bits/stdc++. h"를 넣어주면 된다!

 

※ 주의 ※

#include <bits/stdc++. h>를 사용할 경우 Pre-compiled 헤더를 사용하지 않는다!!

반드시 #include "bits/stdc++.h"를 사용하자.

 

 

도움이 되었다면 지나가는 길에 하트 하나 눌러주세요, 양질의 글을 쓰는데 하나의 동기부여가 됩니다😍

지적이나 오타 수정 댓글 환영합니다!!

반응형
댓글
Total
Today
Yesterday
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함