VSCode - Wie C++ Datei ausführen? Fehlermeldung.

HerrDrachen

Lieutenant
Registriert
Feb. 2016
Beiträge
603
Hallo,

https://ibb.co/C6K9BPN

Wie kann ich dieses sehr kleine Programm ausführen in VSCode? (c++ Datei)
Wenn ich es versuche kommt eine Fehlermeldung, die ihr seht.
float128 is not supported on this target

Ich versteh das nicht, vor einer Woche ca ging es noch und jetzt nicht mehr.
Ich kann keine main.cpp Datei ausführen.
 
  • Gefällt mir
Reaktionen: Powl_0, Fortatus, HerrDrachen und eine weitere Person
Wenn der Screenshot von dir kommt:
Laut Fehlermeldung nutzt MinGW bei dir GCC 8.1... das ist eine Uralt-Version von 2018.
Und wenn ich den Titel richtig sehe, ist das ein Beispiel aus einer "C++20-Masterclass"?

Ich schlußfolgere, dass die GCC-Version ein C++20-Feature noch nicht unterstützt bzw. es manuell per Compiler-Flag aktiviert werden muss.
 
Komisch. Aber grundsätzlich würde ich auch empfehlen, eine aktuellere Compiler-Version zu installieren.

Screenshots kannst du übrigens deutlich eleganter hier direkt posten.
 
HerrDrachen schrieb:
Ich versteh das nicht, vor einer Woche ca ging es noch und jetzt nicht mehr.
und du hast natuerlich nix anders gemacht und auch nix veraendert gehabt - und jetzt geht es auch ploetzlich wieder?
 
  • Gefällt mir
Reaktionen: Revontulet und tollertyp
Nun VSCode hat doch schon manchmal die Angewohnheit sich upzudaten - gerade Intellisense macht bei mir auch nicht immer was es soll xD (VSCode + PlatformIO) Trotz allem aber eine echt gute Dev Umgebung.
 
BTW:

Ab Minute 17:30

Man kann auch den Code Runner installieren und dann rechts oben auf Run Code klicken.
Dann wird der Code auch erfolgreich ausgeführt.

Manchmal ist die Lösung (wenn man es weiss) simpel.
 
HerrDrachen schrieb:
kann keine main.cpp Datei ausführen.
Kannst du sowieso nie, denn .cpp ist nur source code. Erst ein kompiliertes Programm ist ausführbar.

Das ist nicht böse gemeint und ist auch kein Problem, aber dir fehlen die Grundlagen. Du brauchst ein Grundverständnis der Terminologie und darüber, was du da machst. Du brauchst nicht mit dem Programmieren rumbasteln, wenn du noch nichtmal weißt, was der Unterschied zwischen Quellcode und Binary ist.

Deshalb: bitte zuerst in irgendeiner Form darüber lernen, sei es mit den einführenden Kapitel eines Buches, mit einer Videoserie für Anfänger, etc.
 
Wenn man das oben macht, wie beschrieben dann wird natürlich ERST die
main.exe erstellt und dann sofort ausgeführt.
Ich habe mich natürlich falsch ausgedrückt.

Also eigentlich beschäftige ich mich mit Programmierung schon lange
aber vor allem mit Python und davor Java.

Code verstehen und ändern schaffe ich, ich wollte nur Wissen wie ich Code
überhaupt ausführen kann.
 
Das mag sein, deine Beschreibung der Vorgänge gibt mir aber Bedenken, dass dir eben das genannte Grundverständnis fehlt. Und so ein Basteln ohne Durchblick ist zum Scheitern verurteilt.
 
Ich habe 2 Udemy Kurse gekauft zu C++ und auch zahlreiche gute Bücher dazu.

Aktuell lerne ich Deep Learning in Python will aber bald mit C++ weitermachen.

Was VSCode anbetrifft muss man nur eine entsprechende Extension installieren
und schon geht es.
 
Zuletzt bearbeitet:
Naja ob cpp direkt ausführbar oder erst zur Laufzeit per JIT wie C# und Net das muss doch eigentlich niemand mehr wirklich wissen? Ausser vielleicht wenn man plattformübergreifend entwickelt.

Es schadet nicht das zu wissen aber ist doch nicht mehr wirklich esentiell.

VSCode ist eine finde ich gute Entwicklungsumgebung die einem den Grossteil abnimmt. Code schrieben Run drücken und das war's :D JIT ist sowieso zumindest abseits von Mikrokontrollern und Co eine gute Sache, vor allem wenn zur Laufzeit optimiert wird.
 
fgordon schrieb:
aber ist doch nicht mehr wirklich esentiell.
Fehlendes Grundwissen führt unausweichlich zu schlechter Softwarearchitektur und furchtbarem Code.

Sobald man mal mit externen Bibliotheken und Paketen arbeitet, bekommt man ganz schnell Probleme, wenn man nicht auf Dinge wie verwendete Compiler, runtime type, linkage etc achtet.

fgordon schrieb:
Code schrieben Run drücken und das war's
Ohne Kontrolle über und Verständnis von Compiler, compiler flags, Optimierungsoptionen, etc kannst du größere Projekte vergessen.

Für etwas Hello World und kleine Programme ohne externes mag das reichen, aber darüber hinaus wirds schwierig. So zumindest meine Erfahrung nach nun einigen Jahren und Kollegen/Werkstudenten damit ;)
 
Man kann realistisch kein Programm zur einmaligen Erstellungs Kompilzeit so optimieren dass es später auf einer 128 bit CPU mit 128 MByte Cache genauso optimiert läuft wie wenn es auf einer virtuellen CPU mit 0 MByte HW Cache aufgeführt wird - das geht nur mit JIT.

Auch kann man zum Erstzellugnskompilierzeitpunkt nicht auf die sich in Zukunft ändernde Hardware / Software unter der das Programm dann läuft optimieren. - das Optimieren für Plattform X reicht halt oft nicht mehr.

Das sollte - wenn möglich - auf der jeweiligen Plattform zur Laufzeit erfolgen.

Bei externen Libraries kann man auch einfach Paketmangementsysteme nutzen, die funktionieren doch meist problemlos?

Wer heute programmiert sollte das doch so abstrakt und losgelöst von einer Plattform machen, wie es nur geht, macht er das nicht, hat er nur ein Programm, das für die Gegenwart - im besten Fall - optimiert ist und selbst da vermutlich nur auf einem kleinen Bereich.
 
Zuletzt bearbeitet von einem Moderator:
fgordon schrieb:
Bei externen Libraries kann man auch einfach Paketmangementsysteme nutzen, die funktionieren doch meist problemlos?
Klar, bis sie es dann halt nicht mehr tun. Ich arbeite täglich mit großen C++ Projekten, die haufenweise Pakete aus eigenen und öffentlichen conan repos ziehen.

Gibt aber dann doch immer wieder mal irgendwas, was nicht klappt. Sei es weil der Compiler irgendeinen Bug hat, weil einem Paket ein Flag fehlt, weil ein Paket falsch gebaut wurde, etc.

"Meist" ist da das böse Detail.

fgordon schrieb:
Auch kann man zum Erstzellugnskompilierzeitpunkt nicht auf die sich in Zukunft ändernde Hardware / Software unter der das Programm dann läuft optimieren
Davon rede ich doch auch gar nicht. Aber wenn jemand nicht versteht, wofür ich überhaupt Compiler, Linker, etc habe und was man grob bei all dem beachten sollte, dann braucht man mit fortgeschrittenen Themen gar nicht anfangen.
 
Dann macht man halt einen lib Freeze? Sonst müsstet Du ja auch jedesmal alle libs auf alle möglichen Seiteneffekte in allen möglichen Umgebungen in denen das Programm später ausgeführt werden kann neu testen - das ist doch auch nicht realistisch.

Der modernste und mit komplexeste - aber auch wohl interessanteste - Bereich der aktuellen Softwareentwicklung - AI und KI - findet zu einem Riesenanteil in Python statt - einer Interpretersprache .... und der Rest in Java einer JIT Sprache - praktisch niemand arbeitet da mehr mit klassischen Compilern und Linkern etc.

Man kann sich mit Compilern Linkern und Co beschäftigen aber man muss es nicht mehr - selbst auf den Microcontrollern gewinnt Python inzwischen an Fahrt.
 
Zuletzt bearbeitet von einem Moderator:
fgordon schrieb:
Der modernste und mit komplexeste - aber auch wohl interessanteste - Bereich der aktuellen Softwareentwicklung - AI und KI - findet zu einem Riesenanteil in Python statt - einer Interpretersprache .... .
Darunter quasi alles C++ oder C Code.

Und wehe man hat cuda binaries, die nicht zu den Python libs passen

Und dann ist herumexperimentieren auch noch was anderes als ein "AI" Projekt in großen Stil zu deployen, z.B. auf Smartphones
 
  • Gefällt mir
Reaktionen: Powl_0
Aber nichts an C oder C++ womit der AI oder KI Programmierer jemals in Berührung kommt.

Tensorflow und pyTorch sind doch beide im industriellen Umfeld längst auch im produktiven Einsatz.
 
fgordon schrieb:
praktisch niemand arbeitet da mehr mit klassischen Compilern und
Die negativen Auswirkungen ineffizienter Ausführung spüren wir deshalb auch überall. Jeder mögliche Mist läuft als Web App oder mit irgendwelchen Interpretersprachen, die Zyklen verschwenden und Probleme mit Parallelisierung haben.
Ganz toll.

fgordon schrieb:
Aber nichts an C oder C++ womit der AI oder KI Programmierer jemals in Berührung kommt.
Doch, Programmierer kommen da bei fortgeschrittenen Projekten auch wieder mit C/C++ in Berührung.

fgordon schrieb:
Tensorflow und pyTorch sind doch beide im industriellen Umfeld längst auch im produktiven Einsatz.
Richtig. Und frag die Entwickler in dem Umfeld mal, wie oft sie trotzdem noch mit Bugs, Inkompatibilität etc zu kämpfen haben.

Ich bleib dabei, wer die Grundlagen nicht versteht, wird nie anständige Software abliefern. Denn genau die Ausnahmesituationen, in denen nicht alles high level funktioniert wie geplant, sind kritisch. (Und gar nicht so selten, wie man denkt)
 

Ähnliche Themen

Zurück
Oben