كيف يمكنني الاستفادة من جميع النوى لـ nmake؟
سؤال
لقد حصلت للتو على جهاز كمبيوتر رباعي النواة جديد ولاحظت أن nmake يستخدم عملية واحدة فقط.
اعتدت على استخدام make الذي يحتوي على المفتاح -j4 لبدء 4 عمليات.ما هو ما يعادل nmake؟
تحرير] بناءً على المعلومات أدناه ، تمكنت من إضافة أمر إلى ملف مشروع QMake الخاص بي:
QMAKE_CXXFLAGS += /MP
الذي فعل ذلك بفعالية بالنسبة لي.تشكرات.
المحلول
ووفقا ل MSDN ، وليس هناك هذا الخيار لnmake
.
ولكن يمكنك جعل المترجم إنشاء ملفات متعددة في نفس الوقت باستخدام الخيار /MP
مع المترجم سطر الأوامر VC ++ وتمرير ملفات متعددة في نفس الوقت:
> cl /MP a.cpp b.cpp c.cpp
ولكن نلاحظ أن معظم Makefiles لا استدعاء مترجم مثل هذا - أنها المعتاد استدعاء مترجم مستقل لكل ملف مصدر الفردي، الذي من شأنه أن يمنع الخيار /MP
من القيام بأي شيء مفيد
نصائح أخرى
وهناك طريقة أخرى عامة، غير كيو تي ذات الصلة أن أقول nmake
لاستخدام كافة النوى هو وضع CL
متغير البيئة ل/MP
:
set CL=/MP
nmake
وسوف تستخدم جميع وحدات المعالجة المركزية.
وQT وأداة المفترض لهذا http://qt.gitorious.org/qt-labs/jom
CMake 2.8.1 RC1 ، أما بالنسبة لل وقت كتابة هذا انها على استعداد للمحاولة، لا تجلب مولد جديد لNMAKE وهو ما يسمى <لأ href = "http://www.cmake.org/pipermail/cmake/2010-February/035021.html" يختلط = "noreferrer" > NMAKE Makefiles JOM وأنه يولد NMAKE مع إعدادات محددة لجوم، والذي هو قطرة في استبدال NMAKE. وبالتالي، فإنه يعطي بناء تمكين متعدد المعالجة باستخدام NMAKE.
Incredibuild يدعي أن تكون قادرة على تشغيل NMAKE يبني على النوى المتعددة / آلات متعددة. ليس لدي أي خبرة منه.
وغوغلينغ سريعة يعطي: http://msdn.microsoft.com/en -US / مكتبة / bb385193.aspx
لا يعمل هذا مع ملفات makefiles العادية، ولكن يوجد إعداد في Visual Studio 2005 يسمح لك بإنشاء أكثر من ملف .vcproj في نفس الوقت (شريطة ألا يعتمد أحدهما على الآخر).الأدوات -> الخيارات -> المشاريع والحلول -> البناء والتشغيل -> X الحد الأقصى لعدد بنيات المشروع الموازي.