#なぜこの記事を書こうと思ったのか
最近競技プログラミングなるものを始め, c++ でコードを書いているときにいちいち
#include <iostream>
#include <vector>
#include <algorightm>
#include <map>
#include <tuple>
#include <cstudio>
とかたくさん書いてたんですが上位の方のコードを見ると
#include <bits/stdc++.h>
の 1 行で終わっていました.
これはなんだ !! と思い調べてみたら, これを書くだけで全てのヘッダがインクルードできるそうです.
つまり上記のように何行も書かなくて OK !
ただ, Mac で普通にインクルードしようとすると, 「そんなファイルありません」とエラーが帰ってきます.
実践
- homebrew にて gcc をインストール
$ brew install gcc
- gcc のエイリアスを探す
$ ls /usr/local/bin | grep gcc
$ ls /usr/local/bin | grep g++
gcc-10 や g++-10 が目的のものなので、
それらに対してシンボリックリンクを貼ります。
$ ln -fs /usr/local/bin/gcc-10 /usr/local/bin/gcc
$ ln -fs /usr/local/bin/g++-10 /usr/local/bin/g++
これで Mac に元から入っている gcc (clang) の呪縛から解き放たれました。
真に gcc でコンパイルできるようになったので bits/stdc++.h のインクルードができていると思います。
どうしてもうまくいかなかったら
1.Finder で command + shift + g で出てきた検索 window に /usr/local/include と入れます.
飛んだ場所で bits という名前の 新しいフォルダを作ります.
2.そのフォルダの中に入って https://gist.github.com/frankchen0130/9ac562b55fa7e03689bca30d0e52b0e5 にあるヘッダファイルをコピー, 貼り付けします.
終了です.
もしどなたかの役に立てれば幸いです.