KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q23873: R6002 "Floating Point Not Loaded" May Result from printf() Use

Article: Q23873
Product(s): See article
Version(s): 3.00 4.00 5.00 5.10 6.00 6.00a | 5.10 6.00 6.00a
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | s_quickc | mspl13_c
Last Modified: 4-DEC-1990

Question:

I have a simple program that prints out some numbers. Every time I try
to run the program, I get the error message "R6002: Floating point
support not loaded." Why do I get this error when I don't have any
floats in my program?

Response:

You most likely have a printf() statement in your program that
contains a floating point format specifier, such as %f in the format
string. At link time, the floating-point library modules will not be
loaded unless floats are declared. This saves space by making the
executable file smaller. However, in this case the program will
encounter this floating-point format specifier at run time and will
generate the above error because the floating-point handling routines
are needed by the printf() call.

To work around this problem, just declare and initialize a floating
point variable in your program. This will force the floating point
support to be linked into the .EXE file.

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.