PRB: "Gleitkomma Support nicht geladen" Fehler scanf()

Problembeschreibung

Wenn eine Anwendung die scanf()-Funktion verwendet, um einen Gleitkommawert in eine nicht initialisierte "Float" Typ globale Variable in der Konsole lesen, Fehler einen R6002 "Gleitkommaformat Unterstützung nicht geladen". Dieser Fehler tritt auf, wenn eine beliebige formatierte Eingabe-Routine verwendet wird, um einen Wert zu lesen.

Ursache

Generiert der Compiler jedoch nicht auf die __fltused-Variable, mit der den Linker Gleitkomma-Unterstützungsmodul laden angewiesen.

Problemlösung

Um dieses Problem zu umgehen, initialisieren Sie die Gleitkommavariable oder verwenden Sie der Variablen in einem Ausdruck in der Routine, die den Aufruf scanf() enthält.

Status

Dieses Verhalten wird erwartet. Um die Größe der ausführbaren Datei zu minimieren, lädt der Compiler Gleitkomma-Unterstützung nur, wenn dies erforderlich ist.

Weitere Informationen

Modul verwendet eine formatierte Eingabe-Routinen, nicht auch eine Gleitkommavariable initialisieren lädt der Compiler keine Gleitkomma-Unterstützung.

Eine oder beide der beiden Zeilen im Beispielcode unten R6002 Fehlerbehebung entfernen Sie Angabe Kommentar.

Beispielcode

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

Eigenschaften

Artikelnummer: 37507 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback