Hi, ich benütze eclipse mit dem Avr plugin und wollte jetzt die c++ string library benützen, die kann aber nicht gefunden werden. Kann mir jemand sagen wie ich die einbinde?
Beim avr-gcc kann man zwar C++-Programme übersetzenm aber große Teile der C++-Standardbibliothek sind nicht vorhanden. Das ist string ebenso wie iostream und die STL. Zugegebenermaßen machen solche Code-Monster auf einem atmega8 auch nicht viel Sinn, auch weil sie fleißig Speicher allokieren und wieder freigeben. PS: für viele Dinge (so auch Strings lassen sich wesentlich leichtfüßigere Alternativen finden bzw. selbst bauen).
Wie kann man die Größe einer Bibliothek messen? Wird die gesamte Bibliothek eingebunden? Man könnte die Bytes messen. Oder das *.hex file mit und ohne Bibliothek/ Funktionen
Wenn man zum Beispiel #include <stdio.h> anweist, wird dann die gesamte Bibliothek über den Präprozessor eingebunden? Oder wird das durch den Linker gemacht? Ich habe gelesen es werden zuerst die Prototypen eingebunden und dann durch den Linke der Rest gemacht?
"Mittels #include können weitere Quellcode-Teile in das Programm >integriert werden. Diese Dateien werden vom Präprozessor eingelesen und an >Stelle der #include-Anweisung in die Datei geschrieben."
Was wenn man gar nicht alles braucht, kann man das dann gezielt einstellen? Also wenn man nur printf() benötigt kann man das dann irgendwie ausdrücken?
Warum sind große Teile eigentlich nicht vorhanden? Wurden die einfach ignoriert? Warum werden diese immer noch ignoriert? Die Rechenleistung steigt doch immer. Ist der Anstieg der Rechenleistung so gering, dass es abwegig ist neue Funktionen zu implementieren?
Danke
Hier ist ein paar Schritte, um die C++ String Library in deinem Eclipse mit AVR Plugin zu integrieren:
Stelle sicher, dass du eine aktuelle Version von GCC (GNU Compiler Collection) verwendest, die die C++ String Library unterstützt.
ChatGPT schreibt halt viel Text, der zwar zunächst überzeugend klingt, aber trotzdem im Einzelfall Unsinn ist.
Oliver
Ganz einfach ausgedrückt - lass es mit dem C++ auf dem ATMEGA.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.