Visual Studio 8 c++ compiler: /Fd bei parallelen compileprozessen
-
Hallo,
ich erstelle innerhalb meiner makefile _gleichzeitig_ mehere Instanzen von cl.exe auf, welche die Quelldateien meines Projektes kompilieren. (Ich brauche wiklich mehere cl-instanzen, keine einzige mit /MP)!
Wie muss ich nun den /Fd parameter angeben? Gebe ich ihn gar nicht an, erstellt jede cl.exe Instanz eine VC80.pdb, was letztendlich dazu führt, dass inkrementelles kompilieren (/gm) nicht mehr richtig funktioniert. Ist es richtig, wenn ich für jede Quelldatei dann eine einzelne pdb-Datei erstellen lasse, oder kann das zu problemen führen?Danke
-
IMHO müsste das gehen. Der Linker führt normalerweise die Dateien zusammen. Es kann nur sein, dass Du daduch wieder extrem Geschwindigkeit verlierst, weil jede Object Datei nun gleiche PDB Infos (über Header) mehrfach schreibt.
-
"Build with Multiple Processes" geht AFAIK nur mit /MD.
Und /MD verträgt sich nicht mit /Gm. (Punkt) und genausowenigh mit /Yc. (Punkt)
-
Jochen Kalmbach schrieb:
"Build with Multiple Processes" geht AFAIK nur mit /MD.
Und /MD verträgt sich nicht mit /Gm. (Punkt) und genausowenigh mit /Yc. (Punkt)Die Frage ist aber ob man parallel in einem Makefile mehrere CL Befehle abschießen kann...
IMHO Müsste das gehen! Aber ob es schneller ist bezeifle ich!
-
Martin Richter schrieb:
IMHO müsste das gehen. Der Linker führt normalerweise die Dateien zusammen. Es kann nur sein, dass Du daduch wieder extrem Geschwindigkeit verlierst, weil jede Object Datei nun gleiche PDB Infos (über Header) mehrfach schreibt.
Wirklich? Ich bin dazu übergegangen, in meinen Code-Dateien wirklich nur die Header zu inkludieren, die ich wirklich brauche. Daher sollten sich die redunanz in grenzen halten...
Martin Richter schrieb:
Jochen Kalmbach schrieb:
"Build with Multiple Processes" geht AFAIK nur mit /MD.
Und /MD verträgt sich nicht mit /Gm. (Punkt) und genausowenigh mit /Yc. (Punkt)Die Frage ist aber ob man parallel in einem Makefile mehrere CL Befehle abschießen kann...
IMHO Müsste das gehen! Aber ob es schneller ist bezeifle ich!Auf meinem Rechner (Quad core) ist ein build mit MP4 um einiges (sicher 200-300%) schneller als das äquivalente MP1 build. Leider habe ich aber relativ große Projekte mit vielen Quelldateien, und daher brauche ich /gm. Deswegen der ganze Aufwand...