Laden...

Portierung von C++ zu C#

Erstellt von compilerbuddy vor 2 Jahren Letzter Beitrag vor 2 Jahren 301 Views
C
compilerbuddy Themenstarter:in
4 Beiträge seit 2021
vor 2 Jahren
Portierung von C++ zu C#

Hallo,

ich möchte diese Lib portieren: https://github.com/ax3l/lines-are-beautiful/blob/develop/include/rmlab/renderer/lines2svg.cpp
habe aber das Problem, dass das Ergebnis totaler Unsinn ist.

Meine Implementierung: https://github.com/furesoft/Slithin/blob/main/Source/Core/Remarkable/LinesAreBeatiful/Exporters/SvgExporter.cs

Eine entsprechende Codestelle, wo das Problem auftreten könnte ist nicht zu identifizieren.

Ich bin total ratlos was das Problem sein könnte und wäre für Tipps sehr dankbar.

Edit von Abt: Externe Bilder entfernt.

16.833 Beiträge seit 2008
vor 2 Jahren

Bitte beachte [Hinweis] Wie poste ich richtig? und beschreibe die entsprechenden Stellen direkt im Forum und lade die Bilder nicht auf irgendwelche externen Webseiten.
Quellcode und Fehlermeldung kannst Du direkt in die Editor-Tags packen.
Danke.

4.939 Beiträge seit 2008
vor 2 Jahren

Vergleiche doch einfach die erzeugten SVG-Strings (sind doch einfach nur Text) - evtl. einfach jeweils als Datei rausschreiben.

Edit:
Was mir nach Analyse aufgefallen ist: du verwendest in C# durchgehend AppendLine (statt nur Append), während in der C++ Implementierung keine Zeilenumbrüche drin sind (zumindestens die einzelnen Tags <...> sowie </...> sollten nicht über mehrere Zeilen verteilt sein).

M
368 Beiträge seit 2006
vor 2 Jahren

Weiterhin könnte man einen Code-Konverter verwenden (kostet aber ab einer gewissen Code-Menge Geld...): https://www.tangiblesoftwaresolutions.com/product_details/cplusplus_to_csharp_converter_details.html
Oder man versucht es über den Interop Service: https://www.codeproject.com/Articles/843839/Calling-All-Stations

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

C
compilerbuddy Themenstarter:in
4 Beiträge seit 2021
vor 2 Jahren

Ich habe mein Problem so ziemlich gelöst. Anstatt die Lib zu portieren, habe ich angefangen selbst zu rendern. Funktioniert auch nur die qualität stimmt noch nicht mit dem Original überein, aber ist funktional.

Vielen Dank