[c++] Компиляция с помощью g ++ с использованием нескольких ядер



Answers

Нет такого флага, и если один из них работает против философии Unix, чтобы каждый инструмент выполнял только одну функцию и выполнял ее хорошо. Процессы создания нереста концептуально являются задачей системы сборки. Вероятно, вы ищете флаг -j (jobs) для GNU make, a la

make -j4

Или вы можете использовать pmake или аналогичные параллельные системы.

Question

Быстрый вопрос: что такое флаг компилятора, позволяющий g ++ генерировать несколько экземпляров самого себя, чтобы быстрее скомпилировать большие проекты (например, 4 исходных файла за один раз для многоядерного процессора)?

Большое спасибо.




Я не уверен в g ++, но если вы используете GNU Make, тогда make -j N (где N - количество создаваемых потоков) может заставить make запускать задания multple g ++ в одно и то же время (так долго так как файлы не зависят друг от друга).




make сделает это за вас. Исследуйте ключи -j и -l на странице руководства. Я не думаю, что g++ параллелизуем.






Related