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