GCC und Float-Variablen printen

Gast #968365
Hallo Leute,

ich möchte mit meinen ATmega mit Floatingvariablen arbeiten, stosse aber 
auf ein Problem, welches ich mittels eines kleinen Programms zeigen 
kann:

#include <math.h>
#include <stdio.h>

int main( void )
{
 double PI, x;
 char   s[16];

 PI = 4*atan(1);
 x = 180/PI * atan2(2,1);
 sprintf(s,"x=%f",x);

 while( 1 );
 return 0;
}

Der Simulator sagt, PI und x seien richtig berechnet. Im String s steht 
aber x=?.

Im Manual vom GCC ließt man in der Beschreibung der stdio.h man solle

"-Wl,-u,vfprintf -lprintf_flt -lm"

den Compiler Options hinzufügen.

Ich nehme an, ich finde das unter Project -> Configuration Options -> 
Custom Options -> All files.

Aber das bringt keine Änderung. Was mache ich falsch?


Viele Grüße
Stefan
Stefan wrote:

> "-Wl,-u,vfprintf -lprintf_flt -lm"
>
> den Compiler Options hinzufügen.
>
> Ich nehme an, ich finde das unter Project -> Configuration Options ->
> Custom Options -> All files.

Nein, das sind Optionen für den Linker, also:
Project -> Configuration Options -> Custom Options -> Linker Options

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.