PRB: "Floating-point Support Not Loaded" Error with scanf()
View products that this article applies to.
Article ID : 37507
Last Review : September 17, 2003
Revision : 1.0

This article was previously published under Q37507
On This Page
SYMPTOMS
CAUSE
RESOLUTION
STATUS
MORE INFORMATION
Sample Code
SYMPTOMS
When an application uses the scanf() function to read a floating-point value from the console into an uninitialized "float" type global variable, an R6002 "floating-point format support not loaded" error occurs. This error also occurs when any formatted input routine is used to read a value.
 Back to the top

CAUSE
The compiler does not generate a reference to the __fltused variable that instructs the linker to load the floating-point support module.
 Back to the top

RESOLUTION
To work around this problem, initialize the floating-point variable or use the variable in an expression in the routine that contains the scanf() call.
 Back to the top

STATUS
This behavior is expected. To minimize the size of the executable file, the compiler loads floating-point support only when it is required.
 Back to the top

MORE INFORMATION
When a module uses only one of the formatted input routines and does not also initialize a floating-point variable, the compiler does not load floating-point support.

Remove the comment indication from either or both of the two lines in the sample code below to eliminate the R6002 error.
 Back to the top

Sample Code
   /*
    * 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) ;
   }

 결론은 scanf 절대 쓰지 말자..

크리에이티브 커먼즈 라이선스
Creative Commons License

RSS글이 유익하셨다면 kangjin.kr을 구독하세요.

Trackback Address :: http://kangjin.kr/trackback/2 관련글 쓰기

댓글을 달아 주세요