Параллельная компиляция
Jun. 17th, 2009 07:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как сделать параллельную компиляцию C++ проекта в Visual Studio Express Edition 2008?
XP, Core 2 Duo. Про параметр "maximum number of parallel project builds" в опциях знаю. Не дает эффекта :(
Знаю только метод при помощи cook-а, но это геморрой.
XP, Core 2 Duo. Про параметр "maximum number of parallel project builds" в опциях знаю. Не дает эффекта :(
Знаю только метод при помощи cook-а, но это геморрой.
no subject
Date: 2009-06-17 04:12 pm (UTC)no subject
Date: 2009-06-17 04:20 pm (UTC)no subject
Date: 2009-06-17 04:23 pm (UTC)Кроме того, я ещё не видел solutions (build'ящихся регулярно), в которых меньше двух десятков проектов, так что эта проблема для меня пока, скорее, теоретическая, чем практическая.
Если проект такой большой, может его разбить на несколько? (Вынести часть функционала в библиотеку?)
no subject
Date: 2009-06-17 04:42 pm (UTC)no subject
Date: 2009-06-17 04:14 pm (UTC)no subject
Date: 2009-06-17 04:19 pm (UTC)no subject
Date: 2009-06-17 04:32 pm (UTC)Вспомогательные функции называются
Schedule_CompileFile
Schedule_CompileDirectory
Schedule_Assemble_Bin16
Schedule_Assemble
Schedule_MakeLibrary
Schedule_LinkExeFile
Schedule_LinkDllFile
Schedule_Run
они принимают номер группы (об этом ниже) и другие аргументы.
вспомогательная функция ExecuteAll запускает последовательную сборку всех групп
(она вызывается в конце скрипта, после всех Schedule_*)
все задания одной группы исполняются одновременно (точнее, ещё во время работы Schedule_* они последовательно раскладываются по стопкам, а ExecuteAll сохраняет скрипт-файл для каждой стопки заданий и запускает все эти подскрипты одновременно).
no subject
Date: 2009-06-17 04:43 pm (UTC)no subject
Date: 2009-06-18 07:30 am (UTC)