كيفية معرفة ما هي التحسينات التي يستخدمها Bjam لبناء دفعة
سؤال
أنا أقوم ببناء مكتبات Boost مع BJAM لكل من برنامج التحويل البرمجي Intel و VS2008 ، ولا يمكنني معرفة التحسينات التي يتم نقلها إلى المترجم من BJAM. بالنسبة لأحد دول المترجم ، يمكنني رؤية بعض التحسينات في أحد ملفات BJAM ، لكن لا يمكنني العثور على أعلام التحسين للمترجمين الذين أهتم بهم. لذلك ، أسئلتي هي -
- هل يعرف أي شخص أين توجد أعلام التحسين الافتراضية؟
- إذا تم الإعلان عنها داخل BJAM ، فهل يعرف أي شخص كيف يمكنني تجاوزهم؟
المحلول
إذا كنت مهتمًا بالنظر إلى مجموعة الخيارات الكاملة التي يتم تمريرها لاستدعاء المترجم عند البناء ، يمكنك التشغيل bjam
مع ال -n -a
الخيارات وبقية خيارات البناء لتمنحك مجموعة كاملة من الأوامر التي تم استدعاؤها ، وأي ملفات استجابة تم إنشاؤها (انظر تعزيز خيارات المربى). كما يمكنك إلقاء نظرة على مصادر Boost Build مباشرة ومعرفة ما يتم ترجمة الميزات المحددة إليها (انظر تعزيز ملفات أدوات البناء). فمثلا:
من المحتمل أن تكتشف نفس الشيء بالنسبة للمجموعات الأخرى من خلال النظر إلى المصادر لأنها توضيحية إلى حد ما. ويمكنك فقط البحث عن "<optimization>
" و "<inlining>
" في ال *.jam
مصادر.
يمكنك تجاوزها في سطر الأوامر من خلال تحديد feature=value
الخيار في سطر الأوامر عند البناء. تتطابق الخيارات <feature>value
المواصفات التي تراها في ملفات مجموعة الأدوات. على سبيل المثال ، لتجاوز ميزة التحسينات التي ستحددها في سطر الأوامر بعضها "optimization=speed"
. إذا كنت ترغب في مزيد من التحكم في الحبيبات ، فسيتعين عليك الخوض في مواصفات Boost Build ومن المحتمل أن تضطر إلى إنشاء متغير خاص بك لتحديد خيارات وميزات محددة للبناء بها.