2009-05-07 11 views
3

Ich erinnere mich irgendwo über Multiprozessoren in VS2008 gelesen zu haben, nur kann ich den Artikel jetzt nicht finden. Weiß jemand, wie man das anstellt, oder sogar wenn es möglich ist?Multiproc baut in VS2008 ein

Antwort

5

Es gibt zwei Möglichkeiten, einen Build in VS2008 zu parallelisieren.

Die erste besteht darin, mehrere Projekt-Builds parallel auszuführen. Die Einstellung befindet sich unter Extras-> Optionen-> Projekte und Lösungen-> Erstellen und Ausführen, genannt "Maximale Anzahl paralleler Projekt-Builds". Beachten Sie, dass jedes Projekt nur eine Datei gleichzeitig erstellt.

Die zweite besteht darin, mehrere Dateien gleichzeitig in einem Projekt zu kompilieren. Bei C++ geschieht dies durch Setzen der /MP compiler flag. Beachten Sie, dass diese Funktion merkwürdig mit vorkompilierten Headern interagiert, und Sie müssen durch einige Ringe springen, um die beiden zu kombinieren.

+0

@Ben: Könnten Sie näher auf "interagiert eher seltsam mit vorkompilierten Headern"? Ich habe versucht,/MP auf unsere Quellen und der Compiler fehlgeschlagen intermittierend mit Berechtigungen Fehler, vermutlich weil die parallelen Prozesse einander störten. Könnte meine vorkompilierte Header-Einstellungen Hilfe anpassen, oder ist das nicht verwandt? Danke ... – RichieHindle

+0

Ich spreche über einige andere Probleme mit/MP hier: http://StackOverflow.com/Questions/230298 – Aardvark

+0

@Richie: Wir fanden, dass ein/MP Build prächtig mit Projekt-Level-Einstellungen für einen vorkompilierten Header fehlschlagen würde . Wenn Sie/Yu für das * Projekt * setzen und/Yc auf stdafx.cpp setzen, scheint es in Ordnung zu sein. –

0

Welche Sprache? Meinst du die Multithread-CRT-Bibliotheken (dh verwenden Sie die/MD C++ - Compiler-Option)?

0

Ich vermute, dass Sie über die neue (für VS 2008) Multi-Proc VC++ Build-Funktion fragen. Siehe this.

Der/MP-Option kann die Gesamt Zeit reduzieren die Quelldateien auf die Befehlszeile zu kompilieren. Die Option/MP bewirkt, dass der Compiler ein oder weitere Kopien von sich selbst erstellt, jedes in einem separaten Prozess . Dann kompilieren diese Kopien gleichzeitig die Quelle Dateien. Folglich kann die Gesamtzeit bis die Quelldateien erheblich reduzieren.

Diese Funktion war in älteren Versionen von VC++ vorhanden, wurde jedoch nicht dokumentiert. Dies ist nicht das Multiprojekt Gebäude, das wir seit einiger Zeit haben.