bits/stdc++.h
<bits/stdc++.h> 헤더파일은 대부분의 표준 라이브러리가 포함되어 있는 헤더파일로, 백준처럼 온라인 환경에서는 대부분 지원한다. 알고리즘 대회에서 시간 단축을 위해 사용한다. (iostream, algorithm, vector 등등 대부분의 헤더파일들이 포함되어 있다.)
사용하기 위한 사전 작업
인터넷에 돌아다니는 강좌 모두 Visual Studio를 설치해야 한다는 가정 하에 진행되는 것 같아 야매로 추가할 수 있는 방법을 올려본다.
이 강좌는 이 블로그에 있는 개발환경 구축 강좌를 본 후 MinGW가 설치되어 있다는 가정 하에 진행된다. 아마 굳이 이 블로그의 강좌를 보지 않았더라도 지금 강좌를 보는 분들은 대부분 설치되어 있을 것이다.
VS Code 작업중인 환경에서 .vscode 폴더에 있는 c_cpp_properties.json 파일을 보면 아래와 같이 되어있을 것이다.
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:\\MinGW\\include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
위에서 중요한 부분은 includePath 부분인데, 이 부분에 "C:\\MinGW\\include", 이 포함되어 있지 않다면 직접 추가해주자. 그리고 파일 탐색기를 통해 해당 폴더에 들어가보자.
본인은 이미 만들어두어 bits 폴더가 존재한다. 직접 폴더 추가를 해주자.
그리고 bits 폴더 안에 들어간 후 stdc++ 파일을 만들어주자. 만들기 귀찮다면 바로 위의 사진에 있는 아무런 헤더파일이나 복사 붙여넣기해서 내용을 수정하면 된다.
내용은 아래의 코드를 그대로 복사 붙여넣기하면 된다.
// C++ includes used for precompiling -*- C++ -*-
// Copyright (C) 2003-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
/** @file stdc++.h
* This is an implementation file for a precompiled header.
*/
// 17.4.1.2 Headers
// C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif
모든 과정을 완료하면 정상적으로 작동된다.
이전에 포스트했던 강의
MinGW를 설치했을 경우
이 블로그에 있는 강좌를 보고 VS Code를 설치했다면 설치되어 있을 것이다.
C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++\mingw32\bits
위 경로에 있는 'bits' 폴더를
Visual Studio 2022의 경우,
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include
폴더에 복사하면 된다. 사용자에 따라 경로가 다를 수 있으나 틀은 비슷하니 직접 들어가보면 된다.
이외의 경우는 아래 출처를 참고해 적용하면 될 듯 하다.
참고한 사이트
'● 이것저것 설정 강좌' 카테고리의 다른 글
[VS Code] VS Code 터미널에서 한글 깨짐 현상이 발생 시 (0) | 2022.04.22 |
---|---|
[VS Code] VS Code에서 디버깅 시 STL(vector 등등) 요소 출력하기 (0) | 2022.04.11 |
[VS Code] VS Code 자동 정렬 시 중괄호 같은 줄에 넣기 (1) | 2022.01.18 |
[VS Code] VS Code로 Java 개발환경 구축하기 (컴파일, 빌드까지) (0) | 2021.09.03 |
[VS Code] VS Code로 C/C++, Python 디버깅하기 (4) | 2021.08.21 |
자기계발 블로그