Wrapping C ++ mit Cython oder SWIG - Was ist der Kompromiss? [geschlossen]

8

Ich habe mehrere Threads über einige der Unterschiede zwischen Cython und Swig gelesen und habe beide Techniken implementiert, aber ich bin mir immer noch nicht sicher, welche Route die beste Route ist. Im Grunde habe ich an einer C ++ - Bibliothek gearbeitet und möchte diese Funktionen Python zur Verfügung stellen. Cython schien ziemlich kompliziert zu sein und verlangte von mir, mehrere .pyx-Dateien für jede C ++ - Klasse zu schreiben, die ich veröffentlichen musste, während SWIG einfach die Arbeit für mich erledigt hat. Ich habe bisher keine Erfahrung mit einer dieser Methoden, aber SWIG scheint ein klarer Gewinner für das Einbinden meines C ++ - Codes zu sein. Also, was ist die Kontroverse? Warum sollte ich Stunden damit verbringen, .pyx-Dateien in Cython zu schreiben, um mein C ++ zu umschreiben, wenn ich einfach eine einfache .i-Datei in SWIG schreiben könnte? Außerdem verwende ich CMake als mein Build-Tool und es war viel einfacher, SWIG mit CMAKE als mit Cython zu bauen. Ich denke, dass ich etwas vermissen muss, denn selbst große Projekte wie OpenCV benutzen SWIG nicht und bevor ich mein Projekt SWIG widme, möchte ich herausfinden, warum ich lieber Cython oder gar nichts verwende. Hier ist eine Zusammenfassung:

Mein Projekt: C ++ Quellcode ist primär

  • Python ist eine nette Sache, ich will nur einen Weg des geringsten Widerstandes, um den Großteil meines C ++ Codes freizulegen.
  • Writting Wrapper-Code ist stinkend, weil ich jetzt zwei Orte habe, um eine API zu pflegen - ich will nur einen, den C ++ - Code.

Jeder Rat wird sehr geschätzt. Außerdem war ich neugierig auf xdress.org - scheint aber, dass das Projekt gestorben ist.

    
user985030 30.05.2015, 18:35
quelle

0 Antworten

Tags und Links