Hallo zusammen! Hat jemand schon mal tinyXML2 auf ein nicht Windows/Linux System portiert? Auf dem Targetsystem läuft embOS und emfile von Segger. Ich "sehe" hier keine saubere Portierungsschicht. Alles im Code manuell zu ändern ist nicht nur sehr aufwändig, sondern verwehrt einem auch die Möglichkeit ein Update durchzuführen ... Bei mir geht es um essentielle Funktionen zur dynamischen Speicherallokierung und Verwendung, sowie auch dem Filesystemzugriff. Oder übersehe ich hier was? Danke & Grüße Jochen
Das Ding nutzt C++. Auf Microcontrollern kann man das problemlos nutzen - aber Menge gilt es dabei zu beachten (viele "schöne" C++ Befehle setzen auf gruselige Allokatoren oder fressen eine Menge Flash weg). Wuerde mir einen anderen Stack suchen.
https://github.com/leethomason/tinyxml2 sagt: > It does not rely on exceptions, RTTI, or the STL. Das sind schonmal gute Vorraussetzungen für einen erfolgreichen Port. Ich finde die Schnittstelle jetzt nicht so schwer zu verstehen. Im einfachsten Fall übergibst du einen Text und lässt den parsen: https://github.com/leethomason/tinyxml2/blob/master/xmltest.cpp#L145 Wenn du es direkt aus einer Datei parsen willst, dann würde ich mal einen Blick auf die Methoden
1 | XMLError LoadFile( FILE* ); |
2 | |
3 | // und/oder
|
4 | |
5 | XMLError LoadFile( const char* filename ); |
werfen. Die musst du natürlich entsprechend anpassen. Generell finde ich XML (nicht nur auf uC) nicht so prickelnd. "XML combines the readability of binary with the efficiency of text data" ist leider viel zu wahr. bei JSON gibt es einige Parser, die nicht nur rasend schnell, sondern auch sehr kompakt sind und denen einer Verwendung in kleinsten Embedded-Systemen absolut nichts im Weg steht, z.B. cJSON: https://github.com/DaveGamble/cJSON
Hi Bau das Ding Mal für Linux und lass Mal einen profiler drüberlaufen. I'm Mal einen Eindruck vom resourcenverbrauch zu bekommen. Kann sein das ein Port danach schon nicht mehr sinnvoll erscheint. Matthias
Hallo! Danke für die Antworten! Die Frage ist, ob es ein besseres Dateiformat oder Parser gibt. Ich sehe hier nur keine saubere Portierungsschicht, um tinyXML2 auf mein Target zu bringen. Die Frage ist daher, ob das jemand schon gemacht hat und wie "wartbar" das Ganze zum Schluss ist. Danke & Grüße Jochen
Jochen schrieb: > Die Frage ist, ob es ein besseres Dateiformat oder Parser gibt. Na, brauchst du wirklich ein Format das Daten rekursiv ablegen kann und praktisch beliebige Kombinationen ermöglicht? Reicht vielleicht auch eine einfache binäre Serialisierung?
Jochen schrieb: > Hallo! > > Danke für die Antworten! > Die Frage ist, ob es ein besseres Dateiformat oder Parser gibt. > Ich sehe hier nur keine saubere Portierungsschicht, um tinyXML2 auf mein > Target zu bringen. Die Frage ist daher, ob das jemand schon gemacht hat > und wie "wartbar" das Ganze zum Schluss ist. > > Danke & Grüße > Jochen BSON oder MessagePack sind deutlich bessere Kandidaten für kleine Prozessoren mit wenig Speicher.
Jochen schrieb: > Hat jemand schon mal tinyXML2 auf ein nicht Windows/Linux System > portiert? Was ist denn genau der Anwendungsfall? Muss es XML sein? Vielleicht können wir ja auch etwas neues bauen oder zumindest behilflich sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.