Moin,
ich nutze Scipy und PyQT für ein Datenerfassungprogramm und möchte damit
auf DAQ-Hardware zugreifen. Vom Hersteller gibt es Linux-Bibs. Diese
sind in C++14 geschrieben.
Ich habe bisher nur unter Linux programmiert.
Ich möchte mit BoostPython die Klassen/Funktionen vom Hersteller meinem
Python-Programm übergeben. Es gibt vom Hersteller eben diese DLL um die
ich jetzt mein BoostPython-C++-Programm schreiben möchte. Ich möchte
aber kein VS Studio oder so installieren, sondern etwas zum Linux G++
Compiler ähnlichen und dann per Kommandozeile bauen. Sollte ja bei einer
DLL die ich includen muss nicht so komplex sein, dass ich dazu eine IDE
brauche.
Als Compiler habe ich den MinGW64 gefunden, der scheint mir aber
überholt? Weiterhin habe ich MSYS2 gefunden, aber auch das scheint nicht
so gepflegt zu werdne. Wichtig wäre mir hier eine nachhaltige Toolchain.
Gibt es da aktuell Empfehlungen?
Cheers,
Yogi
Das wird schon regelmäßig gepflegt, nur hinkt es dem ‚Linux-gcc‘ immer
ein paar Versionsnummern hinterher. Ist halt Aufwand, den ganzen Kram
auf Windows zu portieren. Funktioniert aber gut. Msys ist übrigens eine
minimale Umgebung mit bash, make etc. für den eigentlichen
mingw-Compiler.
Visual Studio unterstützt mittlerweile auch C++14, und erzeugt i.A.
effizientere Windows-Binaries als die diversen GCC-Varianten. Es ist
also durchaus nicht verkehrt das auch in Betracht zu ziehen.
Visual Studio ist mir eben ein zu mächtiges Softwarepacket.
Ich würde den Code mit Notepad++ schreiben und per Kommandozeile
kompilieren. So mache ich es auch unter Linux und kann meinen Krempel
ggf. auch auf meiner Linuxmaschine bauen.
Sollte ich mich doch um entscheiden, wo finde ich denn Infos über den
VS-Compiler? Wird der Code direkt übersetzt, oder wie bei C# in CLI, was
dann ausgeführt wird?
Yogi schrieb:> Weiterhin habe ich MSYS2 gefunden, aber auch das scheint nicht> so gepflegt zu werdne.
Wie kommst Du auf das dünne Brett? Pacman installiert Dir einen einen
GCC 7.3.0, neuer geht derzeit nicht.
Der Installer enthält nur ein schmales Basissystem, das sich selbst (via
pacman) updaten und neue Software installieren kann.
Da ist auch ein vi oder nano als Editor verfügbar, falls man die unter
Linux gewohnt ist.
Hallo,
Ich würde dir den MinGW empfehlen, da du ja keinen Hochleistungscode
schreiben wirst, reicht der völlig, ich habe ihn als ich noch Windows
hatte, auch benutzt, inzwischen habe ich Linux und den GCC.
Ivo
Ivo Z. schrieb:> inzwischen habe ich Linux und den GCC.
Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit
steinalten gcc's. Da sind die gcc's in den minGW-Versionen für Windows
bei weitem aktueller.
"Hochleistungscode" gibts unter Linux nur, wennman da toolchains selber
bastelt.
Oliver
Oliver S. schrieb:> Ivo Z. schrieb:> inzwischen habe ich Linux und den GCC.>> Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit> steinalten gcc's. Da sind die gcc's in den minGW-Versionen für Windows> bei weitem aktueller.
Die aktuelle kann man ja installieren...
Gruß Ivo
Oliver S. schrieb:> Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit> steinalten gcc's.
Tja, wenn man nichts anderes kennt als Debian, und Distros die darauf
aufbauen, dann mag das so sein.
Fuer mich gehoeren zu "den ueblichen verdaechtigen" aber auch Arch und
Gentoo, und da ist das definitiv nicht so.
Yogi schrieb:> Visual Studio ist mir eben ein zu mächtiges Softwarepacket.> Ich würde den Code mit Notepad++ schreiben und per Kommandozeile> kompilieren. So mache ich es auch unter Linux und kann meinen Krempel> ggf. auch auf meiner Linuxmaschine bauen.
Das ist natürlich ein gewichtiges Argument. Notepad++ ist aber auch
schon recht mächtig.
> Sollte ich mich doch um entscheiden, wo finde ich denn Infos über den> VS-Compiler? Wird der Code direkt übersetzt, oder wie bei C# in CLI, was> dann ausgeführt wird?
Bloß nicht Visual Studio!!! Viel zu mächtig. Programmier direkt im
Speicher (kein Assembler, zu mächtig!) und nimm Jumper, DIP-Schalter
oder Lochkarten zur Programmeingabe. Alles andere ist sinnlose
Resourcenverschwendung!
genervt schrieb:> Programmier direkt im> Speicher (kein Assembler, zu mächtig!) und nimm Jumper, DIP-Schalter> oder Lochkarten zur Programmeingabe. Alles andere ist sinnlose> Resourcenverschwendung!
Ein guter Witz, das ist allerdings nicht wirklich ressourcenschonend,
wenn man bedenkt, wie viele Kalorien und Hirnzellen dabei draufgehen ;-)
Das Visual Studio ist eine sehr ausgereifte und mächtige IDE. Damit kann
man sehr gut arbeiten sowohl bei einfachen als auch komplexen
Aufgabenstellungen, und mittlerweile ist die standardkonforme
Unterstützung von C++ deutlich besser, es werden auch aktuelle
Sprachstandards unterstützt. Es lohnt sich kaum darauf zu verzichten -
sollte man die paar Gigabytes die das an Festplattenplatz braucht
tatsächlich nicht haben, kriegt man den Kauf einer größeren Platte durch
die gesparte Arbeitszeit bald wieder rein. Zudem kompiliert MSVC
schneller und erzeugt kleinere .exe-Dateien als MinGW. Diese sind auch
besser kompatibel zu anderen Windows-Bibliotheken ( ->
Exception-Support). Nur mit Notepad++ ohne richtiges "IntelliSense" und
grafischen Debugger zu arbeiten ist da vergleichsweise mühsam. Als
Student kriegt man über MSDNAA die Vollversionen auch oft gratis.
Natürlich ist es aber auch nicht verkehrt seine Programme mal mit GCC
und/oder Clang zu kompilieren, um zu schauen wie Standard-Konform sie
sind.
Dr. Sommer schrieb:> Als Student kriegt man über MSDNAA die Vollversionen auch oft gratis.
Die kostenlose "Community Version" ist auch für Nicht-Studenten
kostenlos und vom Funktionsumfang mehr als ausreichend.
Rufus Τ. F. schrieb:> Die kostenlose "Community Version" ist auch für Nicht-Studenten> kostenlos und vom Funktionsumfang mehr als ausreichend.
Verarscht den Armen doch nicht so. VS ist ihm zu mächtig. Er will was,
das WENIGER als ausreichend ist.