2009-07-13 2 views
2

ich benutze incredibuild für parallel compiling ... ich brauche auch parallel Verknüpfung, aber ich konnte es nicht für die Verknüpfung verwalten.Incredibuild Verknüpfung

  • wissen Sie, ist es möglich, es parallel zu machen?
  • Wenn es einen Weg gibt, könnten Sie mir sagen?
  • Wenn nicht, kennen Sie andere Werkzeuge für diesen Zweck?

ich habe zu viele Projekte, und ich brauche sie auf unterschiedlichen Maschinen zu verbinden ..

+0

Sie finden ein bisschen eine Information auf einer Folie mit dem Titel "gleichzeitige Verknüpfung" in [dieser Präsentation] (http: // www.airs.com/ian/gold-slides.pdf) (PDF, aus [hier] (http://www.airs.com/ian/pubs.html)). –

Antwort

1

können Sie zwei/Projekte verknüpfen/parallel.

Sie können kein einzelnes Projekt parallel verknüpfen. Das liegt daran, dass Incredibuild selbst kein Compiler oder Linker ist - es ist nur ein Koordinator auf den vorhandenen VS-Tools. Es spinnt mehrere Instanzen des Compilers für verschiedene Quelldateien, aber der VS-Linker kann nur einmal aufgerufen werden, um ein ganzes Projekt zu verknüpfen.

Ich habe Incredibuild für eine Weile verwendet, aber es hat einige Bugs mit Rand Fällen (z. B. ActiveX Interop Wrapper), die zu viel Mühe verursacht. Hinzu kommt, dass Visual Studio Multithread-Compiles sowieso machen kann, ist es das Geld nicht wert. (Abgesehen davon: es ist undokumentiert, aber Sie können multi-threaded in VS2005 kompilieren, indem Sie/MP C++ - Projekteigenschaften hinzufügen.)

+0

Ich möchte parallel mehr als 20 Projekte verknüpfen. eigentlich weiß ich, dass ich kein paralleles projekt machen kann, aber ich brauche parallele verbindungen für mehr als ein projekt. Ich bin glücklich mit der Kompilierung auf parallelen Maschinen. Es gibt viele Maschinen bei der Arbeit und es ist sehr kurz für den vollständigen Wiederaufbau. aber das Problem ist das Verknüpfen. weil es keine anderen Computer verwendet. – ufukgun

+0

Multi-Thread-Build erstellt mehrere Projekte. Wenn Sie mehr Zeit für ein Projekt benötigen, werden nicht mehrere Dateien gleichzeitig im Projekt erstellt. Incredibuild kann die Build-Zeit gegenüber dem nativen System verbessern. –

+1

@Greg ---- nicht wahr? –

2

Verknüpfen ist nicht wirklich anfällig für parallele Verarbeitung, da es der natürliche Serialisierungspunkt in der Produktion eines ist ausführbar:

  • mehr Entwickler können Code parallel schreiben, weil Code in vielen verschiedenen Quelldateien ist
  • Compiler kann Code parallel kompilieren, da mehrere Instanzen des Compilers die viele Quelldateien aufnehmen und produzieren viel Objekt Dateien
  • der Linker kann nicht (einfach) wor k parallel, weil es viele Objektdateien und erzeugt eine ausführbare einzelne nimmt

Also ich denke, man Pech sein, sicherlich für die häufig verwendeten Linker wie MS und gcc.

0

Es gibt einige allgemeine Einstellung Vorschläge auf Improving link time with Incredibuild

Sie auch Verknüpfung von statischen Libs überspringen kann, wo man sie nicht verteilen Incredilink

mit Wir fanden, dass die Zugabe eines Unterzeichnung Post Build-Schritt IncrediBuild stoppen würde von der Arbeit an folgenden Projekten, um einen Kommentar Hinzufügen Build schreiben wurde

rem IncrediBuild_AllowOverlap 

Siehe helfen soll IncrediBuild_AllowOverlap doc

2

IncrediBuild unterstützt die Möglichkeit, Verknüpfungen parallel auszuführen. Gehen Sie zu Agenteneinstellungen-> Visual Studio Builds-> Allgemein-> Verknüpfungsschritte parallel ausführen zulassen