C++ zu ausführbarer EXE datei machen

Ebrithil schrieb:
mingw64 und notepad++ würd ich dir für den Anfang empfehlen, damit lernst du erstmal die Grundlagen richtig bevor du dir die Arbeit von Visual Studio oä abnehmen lässt.
oder noch besser, gleich Linux für C++ verwenden - macht finde ich noch mehr Sinn.
 
Der TS will einen EXE (!!!) erstellen, sprich eine unter Windows ausführbare Datei. Was soll er da bitte mit Linux?
 
  • Gefällt mir
Reaktionen: kim88 und kuddlmuddl
Ebrithil schrieb:
mingw64 und notepad++ würd ich dir für den Anfang empfehlen, damit lernst du erstmal die Grundlagen richtig bevor du dir die Arbeit von Visual Studio oä abnehmen lässt.
Ich wollte das nur noch mal Zitieren um zu zeigen warum notepad++ (natürlich) ein leichtes war zu installieren.
Das war der grund weshalb ich gesagt habe das ich DIES "geschafft" habe zu installieren.
Weil ich beim googeln nach "mingw64" nicht mehr genau wusste was ich da installieren muss,
es kamen ganz viele verschiedene möglichkeiten.

Deshalb habe ich gesagt dass ich das "geschafft" hätte. Deshalb habe ich das so betont.
Natürlich ist es kinderleicht einen edititor zu installieren. (ist ja klar).
Also macht mir jetzt keinen strick draus dass ich das "geschafft" so betont habe. :D

Und ich nehme c++ zum programmieren weil c ja älter ist.
Also warum nicht gleich das neuere nehmen.

Mein ziel ist ja erreicht. Ich habe nun meine exe datei, und ein paar befehle obendrein noch gelernt.
Das visual studio community das hab ich zum ersten mal nun gesehen und damit was gemacht.
Und es tut ja was ich möchte. Also bin ich auch hier zufrieden.
(auch wenn ich ein bissl rumprobieren musste ne stunde lang bis ich gecheckt habe wie der hase läuft :D)

Also vielen dank dass ihr mir geholfen habt.
 
  • Gefällt mir
Reaktionen: Boa-P und kuddlmuddl
Losti73 schrieb:
Und ich nehme c++ zum programmieren weil c ja älter ist.
Das ist aber kein vernünftiger Grund, zumal du ja selbst in deinem einfachen Beispiel nichts von C++ verwendet hast ;) Java ist auch älter als z.B. Go und ist deshalb nicht sofort ausgestorben, auch nicht für neue Projekte.

C++ gibt dir Klassen und u.a. dadurch ermöglicht es andere Codestrukturen und Design Patterns anzuwenden.
 
Losti73 schrieb:
Und ich nehme c++ zum programmieren weil c ja älter ist.
Also warum nicht gleich das neuere nehmen.

Also vielen dank dass ihr mir geholfen habt.
Ich meine ja sogar, das aus Anfängersicht C++ viel leichter zu lernen ist als C. Auch wenn die Sytax erst etwas kompliziert erscheint, alles, was man sich in C erst mühsam erarbeiten muss (und das sind keine trivialen Anfängerdinge), gibt es in C++ schon. Wie auch in C#, Java, Python etc.

Edit: Ja, und man sollte dann natürlich auch wirklich C++ lernen und nicht C mit cout.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: kuddlmuddl
Denke auch es gibt sicher mehr Tutorials etc für C++ - weil C einfach immer mehr in den Spezialbereich nur noch zu finden ist.

Inzwischen programmiert man doch selbst 99% der Microcontroller für den Heimgebrauch wie ESP32 und "Kollegen" mit C++ ...
 
  • Gefällt mir
Reaktionen: kuddlmuddl
Wer Tutorials braucht, lässt auch bitte bitte die Finger von C (und besser auch von C++).
Und nein, C ist auch in 2022 keine Sprache für den "Spezialbereich". Unzählige Software, die du (potentiell unbewusst) nutzt, ist in C geschrieben.
 
Sich selber was beizubringen sei es mit Hilfe von Bücher Tutorials oder Videos oder sonstigen Lehrmitteln schaffen sicher praktisch alle Menschen mit Schulabschluss recht problemlos, wenn sie das wollen.

Wer irgendwann irgendeine Form einer GUI will - und das wollen nunmal die meisten, die irgendwas programmieren - ist mit einer objektorientierten Sprache einfach besser dran - und an diesen grundlegenden Konzepten der OO ist einfach C++ viel näher dran als C.
 
Zuletzt bearbeitet von einem Moderator:
(Gute)Bücher (in der Regel die alten aus den 80ern und 90ern) + Referenzdoku (manpages der libc) ja. Wer fürs C coden Tutorials oder Videos nutzt/braucht, wird nur miesen Code fabrizieren. Sad but true.
 
foo_1337 schrieb:
(Gute)Bücher (in der Regel die alten aus den 80ern und 90ern) + Referenzdoku (manpages der libc) ja. Wer fürs C coden Tutorials oder Videos nutzt/braucht, wird nur miesen Code fabrizieren. Sad but true.
Hast du Empfehlungen für gute Bücher über C/C++?
 
The C Programming Language (Ritchie) und dazu die C FAQ http://c-faq.com/
Und wenn man im Linux/Unix Kontext entwickelt unbedingt:
Unix Programming Environment (Pike)
Advanced Programming in the Unix Environment (Stevens)
 
  • Gefällt mir
Reaktionen: sh.
Es gibt genug Tutorials von renommierten Unis zu dem Thema die man sich durchlesen kann, auch deutschsprachige.

Und man findet sogar auch deutschprachige komplette viele Vorlesungsstunden lange gesamte Einführungskurse in C++ von IT Fachbereichen von Unis auf youtube, wenn man keine englischen will - das englischsprachige Angebot ist natürlich (wie fast immer) um ein Vielfaches grösser.

Das das schlechter sein soll als Bücher, das glaube ich nicht wirklich. Man findet alles an Tutorials von "Einfach & praktisch" bis "akademischer Anspruch" - was einem da eher zusagt, weiss man nur selber.

z.B., einfach mal kurz 2 Sekunden gesucht
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: sh.
Das Problem ist ganz einfach: Man kann in C sehr schnell Mist bauen und merkt es nichtmal. Wenn man da ein paar Tutorials überfliegt und meint, man ist nun gewappnet, dann täuscht man sich gewaltig.
Und leider hat genau deshalb C einen so schlechten ruf. Weil es unzählige "Entwickler" gibt, die sich was zurecht frickeln und man am ende Buffer Overflows, Race Conditions, NPE usw. hat.
Es tut mir leid, aber du kannst da nicht mit der "ach ich schau mir mal dies und das" Methode ran gehen. Das funktioniert nicht schlicht nicht. Da hilft dann auch keine random C++ (eigentlich ging es doch um C in den letzten Beiträgen) Vorlesung.
Aber nach diesem und vielen anderen Threads hier, bei Stackoverflow usw. braucht es auch niemanden zu wundern, dass es so viel dermaßen schlechten Code gibt.

Und wie einfach es ist in C Mist zu bauen mit fatalem Ergebnis, habe ich u.A. hier beschrieben:
https://www.computerbase.de/forum/threads/wozu-c-programmieren.1995113/post-25133447
 
Wer Spass an was hat für den ist das Lernmittel egal. der wird weder das Buch oberflächlich lesen noch ein Onlinetutorial.

Ein oberflächlich gelesenes Buch ist genauso wertlos wie ein oberflächlich genutzte Onlinetutorials

Nun das Beispiel kann man auch sehen als um solche "low-level" Fehler sollte man sich nicht mehr kümmern müssen, das muss oder sollte z.B. ein BufferObjekt von sich aus erledigen.

Das gleiche Rad das 100.000x wieder neu zu bauen ist halt einfach Verschwendung - ohne wirklichen Mehrwert.
 
Zuletzt bearbeitet von einem Moderator:
fgordon schrieb:
Nun das Beispiel kann man auch sehen als um solche "low-level" Fehler sollte man sich nicht mehr kümmern müssen, das muss z.B. ein BufferObjekt von sich aus erledigen.
Anhand dieses Textes sehe ich, dass du keinerlei Erfahrung mit C hast. Nicht schlimm, aber dann kommentiere es doch einfach nicht.
fgordon schrieb:
Ein oberflächlich gelesenes Buch ist genauso wertlos wie ein oberflächlich genutzte Onlinetutorials
Vollkommen richtig. Aber wer es ernst meint, kommt eben mit irgendwelchen Tutorials nicht weit. Tuturials sind gut um "mal schnell" irgendwas zu erledigen. Aber nie um etwas ernsthaft zu machen. In keinem Bereich und erst recht nicht bei C.
 
Doch ich habe C Erfahrung - aber halte das halt für inzwischen nicht mehr wirklich sinnvoll. Die Welt hat sich einfach weitergedreht die Abstraktionsebene auf der man programmiert wird nunmal sinnvollerweise immer grösser - und dafür ist Objektorientierung der "natürlichste" Ansatz.

Objektorienitertes Programmieren ist in ALLEN modernene Programmiersprachen nicht ohne Grund ein Keyelement von C++ über Go Arduino, C# Net/Mono Android/JAVA bis PHP und (TensorFlow) Phyton.

Seit 2 Jahren sind Onlinekurse Alltag vom Schulbereich bis in den universitären Bereich Standard und beweise,n die Lernwilligen kommen problemlos damit klar.
 
fgordon schrieb:
Doch ich habe C Erfahrung - aber halte das halt für inzwischen nicht mehr wirklich sinnvoll.
Dann hättest du nicht von Buffer objects geschrieben. Du magst C nicht für sinnvoll halten - fein. Die Realität ist halt eine andere :) Würdest du von heute auf morgen alle in C geschriebene Software auslöschen, wäre es sehr sehr dunkel im Internet. Und auf deinem TV. Und auf deinem Smartphone. Und in deinem Auto. Und (...)

fgordon schrieb:
Objektorienitertes Programmieren ist in ALLEN modernene Programmiersprachen nicht ohne Grund ein Keyelement von C++ über Go Arduino, C# Net/Mono Android/JAVA bis PHP und (TensorFlow) Phyton.
Das ist ja schön, ich spreche aber die ganze Zeit von C. Und nur weil du C totreden möchtest, ist es das lange nicht. In der Unix Welt ist es nach wie vor die Sprache der Wahl, wenn es um Kernel, Userland und diverse Daemons geht.
Übrigens werden auch diverse deiner hier angesprochenen Sprachen in C geschrieben, z.B. PHP oder auch zu einem nicht zu vernachlässigbaren Anteil Python. Im Gegensatz zu golang oder rust ist es da halt schwierig bis unmöglich, die Sprache in der eigenen Sprache zu schreiben.

fgordon schrieb:
Seit 2 Jahren sind Onlinekurse Alltag vom Schulbereich bis in den universitären Bereich Standard und beweise,n die Lernwilligen kommen problemlos damit klar.
Ja, klar kommen sie damit klar. Was dabei dann am Ende an Code rauskommt ist aber was ganz anderes. Ich kenne auch niemanden, der ernsthaft C code schreibt und sich das Wissen so rangeschafft hat. Wohl aber JS, PHP usw. Und die daraus resultierende Grütze. Leider.
 
Häh ich rede C nicht tot ich sage nur egal für welche Plattform er vorhat was zu entwickeln er wird Objektorientierung als wesentliches Konstrukt mit grosser Sicherheit haben - dann kann er auch von Anfang sich damit beschäftigen - statt später den notwendigen Sprung Prozedural => Objektorientiert sowieso machen zu müssen.

Ich habe geschrieben das ist ein Beispiel bei dem ein Bufferobjekt sinvoll wäre Du versteht KONJUNKTIV, eine Aussage über etwas das eben gerade nlcht so ist weil C keine Objekte für sowas hat.

Wenn Dir jemand sagt "ach wärst Du nur wunderschön, intelligent und reich" sagt er Dir er hält Dich tatsächlich für das Gegenteil arm dumm und hässlich.... so funktioniert der Konjunktiv :D:o
Er beschreibt eben gerade das was nicht so ist, wie dass ein Bufferobjekt eben nicht in C vorhanden ist und auch nicht so einfach umfassend für alle ähnlichen Fälle implementierbar ist.

Der objektorientierte Ansatz das Bufferobjekt würde man so bauen, dass es sich dann IMMER um Overflows Ein und Ausgaben, Datenkonvertierung etc von alleine kümmert und zwar dann in allen vergleichbaren Situationen in denen man irgendeinen Buffer braucht durch Vererbungsimplementierung.
 
Zuletzt bearbeitet von einem Moderator:
@fgordon wenn man "einfach so" loslegt, dann kommt sowas wie hier raus:
Losti73 schrieb:
Problem gelöst, das programm Anhalten bis ein Tastendruck erfolgt geht mit "_getch();"
Aber so wie ich das sehe wissen das die wenigsten im netz. Ich hab nun 45 minuten gesucht und viel probiert.
Es wurde auch "getch();" und "getchar();" empfohlen beides geht nicht es muss definitiv "_getch();" sein .
Ich bin mir sicher: Er weiß nicht, dass getchar() stdio ist, getch() wiederum non-standard conio und somit nicht portabel ist. Dann ist ihm, vermutlich weil er weder die Doku noch die Compiler warnings/errors gelesen hat nicht aufgefallen, dass getch() schon lange deprecated ist. Wir sind hier also schonmal nicht bei der Frage ob prodzedual/strukturiert vs objektorientiert, sondern es scheitert an der grundlegenden Herangehensweise.
Dass weder getchar() noch _getch() C++ sind, steht dann nochmal auf einem ganz anderen Blatt papier. Dann kommt noch so eine Aussage hier im Thread:
lemon03 schrieb:
Edit: Ja, und man sollte dann natürlich auch wirklich C++ lernen und nicht C mit cout.
wo man sich dann denkt: Was will er mir damit sagen? cout ist eben nicht C sondern C++ stdlib für stdout.

fgordon schrieb:
Ich habe geschrieben das ist ein Beispiel bei dem ein Bufferobjekt sinvoll wäre Du versteht KONJUNKTIV, eine Aussage über etwas das eben gerade nlcht so ist weil C keine Objekte für sowas hat.
Solch eine Aussage hilft halt nicht, wenn man in C coded. Mein Beispiel war, wie einfach man in C fatale Fehler machen kann. Und dann bringts wenig wenn man sagt, dass hier ein Bufferobjekt sinnvoll wäre.
Ist quasi wie wenn ich sagen würde, dass in einem alten Mercedes Flügeltürer auch ESP sinnvoll wäre. Beides ist irgendwie möglich, aber mit massivstem Aufwand ;)
 
foo_1337 schrieb:
wo man sich dann denkt: Was will er mir damit sagen? cout ist eben nicht C sondern C++ stdlib für stdout.
Dass man mit C++ gegenüber C seinen Programmierstil anpassen sollte, statt im C-Stil zu programmieren und gelegentlich auf C++ Tools (wie z.B. cout) zurückzugreifen.
 
  • Gefällt mir
Reaktionen: lemon03 und foo_1337
Zurück
Oben