كيفية معرفة ما هي التحسينات التي يستخدمها Bjam لبناء دفعة

StackOverflow https://stackoverflow.com/questions/2794492

  •  04-10-2019
  •  | 
  •  

سؤال

أنا أقوم ببناء مكتبات Boost مع BJAM لكل من برنامج التحويل البرمجي Intel و VS2008 ، ولا يمكنني معرفة التحسينات التي يتم نقلها إلى المترجم من BJAM. بالنسبة لأحد دول المترجم ، يمكنني رؤية بعض التحسينات في أحد ملفات BJAM ، لكن لا يمكنني العثور على أعلام التحسين للمترجمين الذين أهتم بهم. لذلك ، أسئلتي هي -

  1. هل يعرف أي شخص أين توجد أعلام التحسين الافتراضية؟
  2. إذا تم الإعلان عنها داخل BJAM ، فهل يعرف أي شخص كيف يمكنني تجاوزهم؟
هل كانت مفيدة؟

المحلول

إذا كنت مهتمًا بالنظر إلى مجموعة الخيارات الكاملة التي يتم تمريرها لاستدعاء المترجم عند البناء ، يمكنك التشغيل bjam مع ال -n -a الخيارات وبقية خيارات البناء لتمنحك مجموعة كاملة من الأوامر التي تم استدعاؤها ، وأي ملفات استجابة تم إنشاؤها (انظر تعزيز خيارات المربى). كما يمكنك إلقاء نظرة على مصادر Boost Build مباشرة ومعرفة ما يتم ترجمة الميزات المحددة إليها (انظر تعزيز ملفات أدوات البناء). فمثلا:

  • للاطلاع على مجلس التعاون الخليجي GCC.JAM
  • لمعرفة MSVC MSVC.JAM

من المحتمل أن تكتشف نفس الشيء بالنسبة للمجموعات الأخرى من خلال النظر إلى المصادر لأنها توضيحية إلى حد ما. ويمكنك فقط البحث عن "<optimization>" و "<inlining>" في ال *.jam مصادر.

يمكنك تجاوزها في سطر الأوامر من خلال تحديد feature=value الخيار في سطر الأوامر عند البناء. تتطابق الخيارات <feature>value المواصفات التي تراها في ملفات مجموعة الأدوات. على سبيل المثال ، لتجاوز ميزة التحسينات التي ستحددها في سطر الأوامر بعضها "optimization=speed". إذا كنت ترغب في مزيد من التحكم في الحبيبات ، فسيتعين عليك الخوض في مواصفات Boost Build ومن المحتمل أن تضطر إلى إنشاء متغير خاص بك لتحديد خيارات وميزات محددة للبناء بها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top