هل يجب أن أكون قلقًا بشأن تحذيرات G ++ التي تقول "فشل في وضع"؟

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

  •  21-09-2019
  •  | 
  •  

سؤال

في مشروع أعمل عليه في المكتب ، عندما نجمع بناء إصدار (مع -OS) ، نحصل على مئات التحذيرات من G ++ قائلين إن الإضافية قد فشلت. يبدو أن معظم هذه التحذيرات تأتي من Boost ، ولكن بعضها يأتي من رؤوس المكتبات الخاصة بنا (Binary .Dylibs التي نربطها). هل يمكن تجاهل هذه التحذيرات عمومًا بأمان ، أم أنها شيء يجب أن أكون قلقًا بشأنه؟

ملاحظة: نحن نستخدم G ++ 4.0 على Mac OS X

هل كانت مفيدة؟

المحلول

G ++ تنبه إلى ما هو في الأساس مشكلة في الأداء - أنت تطلب inline التطبيقات التي لا يمكن أن تكون مضمون. إذا كان استخدامك ل inline لا يهم حقًا ، يجب عليك إزالته (يمكن للمترجمين أن تضمنوا الوظائف دون تلميح ، كما تعلمون!-) ، ولكن من حيث صحة الكود ، يمكنك تجاهل التحذير. إذا كان استخدامك ل inline لا يهم حقًا ، أي ، أمر بالغ الأهمية لأدائك (على عكس كونك تحسينًا سابقًا لأوانه) ، فإن التحذير يطلب منك إعادة صياغة الكود الخاص بك حتى يمكن تحقيقه (أسوأ حالة ، من خلال الانتقال إلى وحدات الماكرو - ولكن تنهد ، ولكن تنهد ، ولكن تنهد ، ولكن ، عندما يجب عليك ، يجب عليك!-).

نصائح أخرى

يجب أن يكون حفظ إذا لم تكن كذلك

  • اضغط على خطأ في مجلس التعاون الخليجي
  • توقع وظائف مضمّنة في الكود الخاص بك
  • حاول أن تفعل أشياء سيئة

يجب أن تحاول تقليل التحذيرات على الرغم من.

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