Как влиять, какой компилятор выбран системами сборки как CMake

find … -exec rm {} \; выполняется rm команда для каждого файла. Даже при том, что запуск нового процесса довольно быстр, это еще намного медленнее, чем простое действие удаления файла.

find … -exec rm {} + звонил бы rm в пакетах, который намного быстрее: Вы оплачиваете стоимость выполнения rm однажды на пакет и каждый пакет выполняет многих удаление.

Еще быстрее не должен вызывать rm вообще. find команда на Linux имеет действие -delete удалить файл соответствия.

find ./cache -mtime +0.5 -delete

Однако, если Вы производите файлы на таком уровне это find … -exec rm {} \; не может поддержать на высоком уровне, существует, вероятно, что-то не так с Вашей установкой. Если cache содержит миллионы файлов, необходимо разделить его на подкаталоги для более быстрого доступа.

3
08.02.2015, 14:24
1 ответ

Нет реального общего ответа. Если какой-то инструмент настаивает на одном инструменте, это будет делать это.

Если для вас установка переменных среды работает для вас, нет необходимости перезагружаться. Вы можете просто позвонить в такую ​​вашу команду:

CXX=g++ cmake ...

Это будет запускать Cmake с переменной среды CXX, установленной на G ++.


Если вы действительно хотите сделать то, что вы просили, вы можете заменить / usr / bin / c ++ (или любую команду (или любую команду нужна вашим инструментом) с помощью скрипта оболочки, просящий необходимый компилятор, а затем вызов этот компилятор. - Но будь действительно уверены, что вы знаете, что вы делаете, если вы решите пойти так.

3
27.01.2020, 21:23

Теги

Похожие вопросы