PRB: "Floating-point tugi ei laadita" tõrge scanf()

Sümptomid

Kui rakendus kasutab funktsiooni scanf() loeb ujukoma väärtus konsoolilt lähtestamata "float" tüüpi Globaalne muutuja, ilmneb R6002 "ujukoma vormi toetamiseks ei laadita" tõrge. See tõrge ilmneb kui mis tahes vormindatud sisendi rutiin kasutatakse lugeda väärtust.

Põhjus

Kompilaator ei loo viidet __fltused muutuja, mis juhendab linker laadimine ujukoma toe moodul.

Lahendus

Selle probleemi vastukaaluna lähtestamise ujukoma muutuja või kasutage muutuja avaldise rutiin, mis sisaldab scanf() kõne.

Olek

See on oodatav käitumine. Käivitatava faili mahu vähendamiseks kompilaator laadib ujukoma tugi ainult siis, kui see on nõutav.

Lisateabe saamiseks

Kui moodul kasutab ainult üks vormindatud sisendi rutiin ja käivitada ka ujukoma muutuja, kompilaator laadida ujukoma toetust.

Eemaldage märge kommentaar üks või mõlemad kaks rida allpool R6002 tõrke kõrvaldamiseks näidiskood.

Näidiskood

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

Atribuudid

Artikli ID: 37507 – viimati läbi vaadatud: 26. jaan 2017 – redaktsioon: 1

Tagasiside