Forum: PC-Programmierung VC Express 2005: compile und link mit Mehrkern-CPUs


von Ruediger S. (ruediger)


Lesenswert?

Wie kann ich mein VC Express 2005 überzeugen, zum Kompilieren und Linken 
mehr als nur einen CPU-Kern zu benutzen? Gibt es im VC Express 2005 
überhaupt diese Möglichkeit?

Momentan dümpeln sonst drei Kerne vor sich hin, während einer sich 
abrackert und eine Systemlast von 25% erzeugt...

Kann mir da jemand helfen? Habt Ihr eine Möglichkeit zur Nutzung 
mehrerer CPU-Kerne gefunden?

Danke, ruediger

edit1: Mist, falsches Forum. Kann mich mal einer zur PC-Programmierung 
verschieben?

edit2: Danke!

von Alex (Gast)


Lesenswert?

Verwende Threads und die anderen Kerne werden beschäftigt ...

von Peter (Gast)


Lesenswert?

es geht nicht im das Programm, sondern um den compiler.

Soweit ich weiss nutzt der Compiler immer ein Thread.(ich denke es lässt 
sich einfach nicht sinnvoll verteilen) Was aber möglich ist das man 
mehere Quellen gleichzeitig compiliert. ob aber VS diese möglichkeit 
bietet weiss ich nicht. Zur kann man sich aber ein Makefile anlegen und 
das GnuMake hat die möglichkeit mehre Sachen die keien Abhängkeiten 
haben gleichzeitig zu machen.

von guest (Gast)


Lesenswert?

Hallo,

schau dir mal MPCL (http://todobits.es/mpcl.html) an. Das funktioniert, 
kostet leider Geld.
Alternativ geht es noch per Kommandozeile mittels msbuild.

Gruß,
Dirk

von Ruediger S. (ruediger)


Lesenswert?

@Alex: richtig. Aber ich glaube nicht, daß threads beim compile alle 
Kerne auslasten :)

@Peter: genau - ich hatte eigenlich darauf gehofft, daß jetzt sich viele 
melden und sagen: "Du Depp, Du mußt doch nur noch die Option 
/USE_MULTICORE4 in der Befehlszeile...".
Hm, und make ist nicht wirklich eine Variante. Zumindest habe ich es 
noch nicht mit mehreren Kernen zum Kompilieren und Linken gebracht (XP 
Pro, cygwin und msvc80 als compiler).

@guest: da tränen die Augen - genau so was will ich haben! Gibt's das 
auch als freeware ;)

naja, Fazit bisher: ein kommerzielles tool, mit VC Express allein ist 
Multicore-compile nicht möglich.

edit1: @guest: MSBuild steht doch nur dem Visual Studio zur Verfügung - 
oder habe ich da was falsch verstanden?

von Peter (Gast)


Lesenswert?

also wir nutzten immer Make, hat den vorteil man kann projekte ohne 
Studio bauen - und es kommt auch immer das gleiche raus.

make --help
   ...
   -j [N], --jobs[=N]     Allow N jobs at once; infinite jobs with no 
arg.
   ...

von Ruediger S. (ruediger)


Lesenswert?

so kenn ich das ja auch - aber wenn ich hier meine 4 übergebe, krieg ich 
für jede c-Datei einen link-Fehler:

LINK : fatal error LNK1181: Eingabedatei xyz.obj kann nicht geöffnet 
werden.
make[2]: *** [link] Fehler 157
make[2]: *** Warte auf nicht beendete Prozesse...

von Peter (Gast)


Lesenswert?

leider kann man ohne makefile damit kaum entwas anfangen, aber du kannst 
du mit dem filemon schauen wo er denn das xyz.obj sucht.

von guest (Gast)


Lesenswert?

>edit1: @guest: MSBuild steht doch nur dem Visual Studio zur Verfügung -
>oder habe ich da was falsch verstanden?

Hmm. Das kannn sein. Ich nutze Visual Studio Prof.
Keine Ahnung ob das auch bei der Express Edition dabei ist.

Gruß,
Dirk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.