PRB: Chyba "Podpora plovoucí desetinné čárky není načteno" s scanf()

Příznaky

Pokud aplikace používá funkci scanf() číst hodnotu s plovoucí desetinnou čárkou z konzoly do globální proměnnou typu neinicializované "float", dojde k chybě R6002 "podpora formátu s plovoucí desetinnou čárkou nebyla načtena". Této chybě dochází také při jakékoli formátovaný vstupní rutina slouží ke čtení hodnoty.

Příčina

Kompilátor negeneruje odkaz na proměnnou __fltused, která pokyny propojovacímu programu k načtení modulu podpora plovoucí desetinné čárky.

Řešení

Chcete-li tento problém vyřešit, inicializujte proměnné s plovoucí desetinnou čárkou nebo použít proměnné ve výrazu v rutině, která obsahuje scanf() volání.

Stav

Toto chování je očekávané. Chcete-li minimalizovat velikost spustitelného souboru, načte kompilátor podpora plovoucí desetinné čárky pouze, pokud je to požadováno.

Další informace

Pokud modul používá pouze jeden formátovaný vstupní rutin a také neinicializuje proměnné s plovoucí desetinnou čárkou, kompilátor nenačte podpora plovoucí desetinné čárky.

Zrušit označení komentáře jeden nebo oba dva řádky v ukázkovém kódu níže k odstranění chyby R6002.

Ukázkový kód

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

Vlastnosti

ID článku: 37507 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor