undefined reference to `asprintf'

OP #3357435
Lesenswert?
• ▲
▼
Hallo,

ich portiere gerade eine Routine von gcc nach avr-gcc.
Mein cu (gcc) test läuft super, bis ich das ganze dann unter avr-gcc 
übersetzen lasse.
Ich erhalte die Fehlermeldung: undefined reference to `asprintf'
Ich verwende avr-gcc (GCC) 4.6.2 und CrossPack for AVR Development 
20130212.

Gibt es kein asprintf unter avr oder habe ich nur vergessen etwas 
einzubinden?

Besten Dank,
ps
OP #3357591
Lesenswert?
• ▲
▼
Timmo H. schrieb:
> asprintf gibts bei avrgcc nicht. Nimm einfach sprintf

Hallo Timmo,
ja das wird dann die Lösung sein, aber so einfach geht das dann wohl 
nicht, denn asprintf reallociert ja noch Speicher. Beim String 
concatinieren eventuell nicht effizient aber im code ein wenig 
poetischer.

Ok, da ich es eh umschreiben muss, wie würdet ihr diese Funktion lösen: 
ich gebe ein leeres char* rein, innerhalb iteriert er über ein Baum und 
füllt das char *  in jeder Runde mit ein paar Werten. Nach dem aufruf 
der Funktion ist also die Übergebene Referenz mit einer Anzahl an 
Zeichen gefüllt, die ich vorher nicht kennen kann. Diese kann ich dann 
ausgeben (Display, UART, whatever).

Danke euch.
Moderator Persönliche Seite #3357596
Lesenswert?
• ▲
▼
Timmo H. schrieb:
> Nimm einfach sprintf

Bzw. snprintf().  Im Prinzip kann man mit snprintf() auch ein
asprintf() emulieren, wenn man das unbedingt will:

. einmal snprintf mit einer Länge von 0 aufrufen,

. der Rückgabewert beschreibt die notwendige Länge,

. diese Länge wird mit malloc() alloziert,

. snprintf() wird noch einmal auf den Puffer aufgerufen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.