PRB: خطأ "الفاصلة العائمة الدعم غير محمل" مع scanf)

الأعراض

عندما يستخدم تطبيق الدالة scanf () لقراءة قيمة فاصلة عائمة من وحدة في متغير عمومي نوع غير مهيأ "عائم"، يحدث خطأ R6002 "عدم تحميل دعم تنسيق الفاصلة العائمة". يحدث هذا الخطأ أيضا عند استخدام أي إجراء إدخال منسق لقراءة قيمة.

السبب

لا يقوم المحول البرمجي إنشاء مرجع إلى متغير __fltused الذي يرشد الرابط لتحميل الوحدة النمطية دعم الفاصلة العائمة.

الحل

لإيجاد حل بديل لهذه المشكلة، تهيئة المتغير الفاصلة العائمة أو استخدم المتغير في تعبير في الروتين الذي يحتوي على استدعاء scanf ().

الحالة

يعتبر هذا سلوكاً متوقعا. لتقليل حجم الملف القابل للتنفيذ، المحول البرمجي يقوم بتحميل دعم الفاصلة العائمة فقط عندما يكون مطلوباً.

مزيد من المعلومات

عندما يستخدم أحد إجراءات إدخال منسق وحدة نمطية وتهيئة متغير الفاصلة عائمة أيضا، لا يتم تحميل المحول البرمجي دعم الفاصلة العائمة.

إزالة إشارة إلى تعليق من أي من هذين الخطين في نموذج التعليمات البرمجية أدناه لحل الخطأ R6002 أو كليهما.

نموذج لتعليمة برمجية

   /*    * Compile options needed: none
*/

#include <stdio.h>
float x ;

main()
{
// Remove the comment from the next line to eliminate the error.
// x = 2.3 ;

scanf ("%f", &x) ;

// Remove the comment from the next line to eliminate the error.
// printf ("%f\n", x) ;
}

خصائص

رقم الموضوع: 37507 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات