В чем проблема с использованием заголовочного файла #include‹bits/stdc++.h›?
Этот заголовочный файл включает в себя весь заголовочный файл в библиотеке C++ (некоторые из которых никогда не будут использоваться), когда вы компилируете свой код каждый раз, когда все эти заголовочные файлы компилируются снова и снова, что тратит много времени на соревнования, такие как CodeForces. где 1 или 2 минуты могут иметь значение в рангах.
Какое решение?
Мы можем использовать предварительную компиляцию, это метод, при котором мы компилируем все файлы заголовков, которые мы используем, и сохраняем результат, и всякий раз, когда мы компилируем наш код, мы используем этот предварительно скомпилированный файл заголовка вместо его перекомпиляции.
Как это сделать в возвышенном тексте?
Шаг 1:
Создать новую встроенную систему
Перейдите в Инструменты -> Встроенная система -> Создать новую встроенную систему.
затем скопируйте этот код туда и сохраните его.
{ “cmd”:[“bash”, “-c”, “g++ -std=c++17 -Wall ‘${file}’ -o ‘${file_path}/${file_base_name}’ && ‘${file_path}/${file_base_name}’”], “file_regex”: “^(..[^:]*):([0–9]+):?([0–9]+)?:? (.*)$”, “working_dir”: “${file_path}”, “selector”: “source.c, source.c++”, “variants”: [ { “name”: “Run”, “cmd”:[“bash”, “-c”, “g++ -std=c++17 ‘${file}’ -o ‘${file_path}/${file_base_name}’ && ‘${file_path}/${file_base_name}’”] } ] }
Шаг 2:
откройте терминал, затем перейдите в это место:
/usr/include/x86_64-linux-gnu/c++/9/bits
Шаг 3.
Если вы являетесь пользователем sudo, вы можете напрямую запустить эту команду:
g++ -std=c++17 stdc++.h
Если нет, то:sudo g++ -std=c++17 stdc++.h
Эта команда скомпилирует заголовок и создаст файл .h, который является предварительно скомпилированным заголовком.
Теперь вы можете идти.