Hilfe im C/C++/C# Urwald
-
Hallo zusammen,
ich lerne in der Schule gerade mit C++ Konsolen-Programme zu erstellen und da mich das Thema interessiert würde ich auch gerne mehr zu dem Thema wissen.
Habe schon eine Menge Seiten durchgelesen und die Verwirrung ist nun komplett
Kennt einer eine Seite wo die Unterschiede der einzelnen C++ "Unterarten" erklärt sind? Mhm weiß nicht wie ich es ausdrücken soll *g*
Also um es kurz auszudrücken, ich verstehe den Zusammenhang oder den Unterschied von MFC, WinAPI, .Net, dem 3D kram und und und ... nicht.
Kann mir das einer erklären, oder gibt es eine Vorhandene InternetSeite wo das erklärt wird?
Gruß,
DerGast
-
Gast05 schrieb:
Kennt einer eine Seite wo die Unterschiede der einzelnen C++ "Unterarten" erklärt sind?
Was meinst du mit Unterarten? Es gibt keine C++ Unterarten.
Gast05 schrieb:
Also um es kurz auszudrücken, ich verstehe den Zusammenhang oder den Unterschied von MFC, WinAPI, .Net, dem 3D kram und und und ... nicht.
Also um es kurz auszudrücken, das sind nichts anderes als Bibliotheken bzw. Frameworks und haben mit der eigentlichen Sprache nichts zu tun. Du musst dir das wie eine Sammlung an Funktionalität vorstellen, um so schöen Sachen zu machen, wie zB Fenster auf den Bildschirm zu zaubern.
Gast05 schrieb:
oder gibt es eine Vorhandene InternetSeite wo das erklärt wird?
Ja, die Seite nennt sich google.
-
Wenn du mir jetzt noch genau sagst wonach ich suchen soll dann finde ich vielleicht auch etwas brauchbares
Was ist denn dann das "Ur" C++? Weil selbst für Konsolen Anwendungen braucht man Bibliotheken. Gibt es irgendwo eine Übersicht über die einzelnen Frameworks und Bibliotheken mit deren Vor- und Nachteilen.
-
AnsiC, C++, MFC, WinAPI, DirectX, OpenGL, SDL das wären alles Stichworte nach denen du suchen kannst.
Ja so eine Konsolenanwendung ist heutzutage auch ein Fenster also ganz klar dass da Bibliotheken brauchst aber für den Anfang reicht für dich nur zu wissen dass du #include <iostream> in dein Programm einbinden musst und dann kannst du die paar Schleifen, Verzweigungen, Bedingungen wunderbar testen und die grundlegenden Datentypen die es gibt. Gleich mit was großem Anfangen würd ich dir nicht raten.
-
Gast05 schrieb:
Wenn du mir jetzt noch genau sagst wonach ich suchen soll dann finde ich vielleicht auch etwas brauchbares
Also wenn du zB nach MFC suchen willst, dann gibst du bei google "MFC" ein.
Oder auch "Microsoft Foundation Class".
Aber mal Spass beiseite, vielleicht kannst du genauer erklären wonach du suchst bzw was du nicht verstehst. Für einen groben Überblick kannst du auch Wikipedia mal einen Besuch abstatten.Gast05 schrieb:
Was ist denn dann das "Ur" C++?
Ur C++? Tja, das wird wohl das sein, was Struppi irgendwann mal spezifiziert hat. 1998 wurde daraus dann ein Standard, 2003 gabs eine Überarbeitung.
Gast05 schrieb:
Weil selbst für Konsolen Anwendungen braucht man Bibliotheken.
Das ist richtig. Eine solche Bibliothek ist ja bereits im C++ Standard enthalten, die STL.
Gast05 schrieb:
Gibt es irgendwo eine Übersicht über die einzelnen Frameworks und Bibliotheken mit deren Vor- und Nachteilen.
Vermutlich. Leider kann ich dir jetzt keine nennen, aber auch hier ist google dein Freund. Letztendlich werden Bibliotheken ja auch nicht durch ihre Vor- und Nachteile katalogisiert, sondern durch ihre Einsatzgebiete. Wenn du zB 'ne Physikengine bastelst, ist es Unsinn, MFC dafür zu nehmen. Dann wäre sowas wie 'ne Mathematikbibliothek sicher sinnvoller.
-
Irgendwie siehst du das immer noch falsch. Es gibt kein Ur-C++ wie Du es dir vorstellst. Selbst Java, C# und weiß der Geier was noch, braucht Bibliotheken um auch nur einen Buchstaben in der Konsole auszugeben.
C++, Java, C#, Delphi usw. sind Sprachen die nichts können. Wenn du einen Buchstaben in der Konsole ausgeben willst, mußt du bei jeder dieser Sprachen eine Bibliothek einbinden - sonst geht garnichts. Willst du ein Fenster anzeigen, mußt du eine Bibliothek einbinden. Das hat nichts mit C++ zu tun, das Konzept der Bibliotheken erlaubt es halt, nur das einzubinden was für den speziellen Fall benötigt wird.
Nur werden bei Java und C# von Haus aus mehr Bibliotheken mitgeliefert. Um ein Fenster in Java zu öffnen, braucht man die AWT- oder Swing-Bibliothek, sonst geht nichts. Nur werden diese gleich von SUN im Download-Packet angeboten, könnten sie auch weg lassen.
Bei C++ ist es das gleiche Verfahren. Nur das wenn du VisualC++ von MS kaufst, bekommst du halt unter anderem die MFC-Bibliothek von MS.
Und wenn du 3D-Grafik machen willst, mußt du dir DirectX-Bibliothek downloaden oder aber OpenGL.
-
Gleich mit was großem Anfangen würd ich dir nicht raten.
Mhm Anfangen ist gut, die einfachen Konsolen Anwendungen behersche ich ja, mit Pointern, Funktionen und Modularisierung ist alles kein Problem, aber Konsolen ... mein Gott was will man mit Konsolen Anwendungen heute noch machen
Aber mal Spass beiseite, vielleicht kannst du genauer erklären wonach du suchst bzw was du nicht verstehst.
Ich werd es nochmal versuchen *g*
Also mittlerweile weiß ich das MFC, DirectX etc. alles _nur_ Bibliotheken sind und diese lediglich die Infos für Konsolen Anwendungen und GUI´s enthalten.Mhm vielleicht eine dumme Frage, aber wieso kann nicht irgend nen Held mal ne Standard Lib veröffentlichen die alle diese Funktionen beinhaltet?
Ok wenn ich jetzt ein Programm tippen will und das irgendwie im Windows Fenster Style umsetzen möchte - womit mach ich das am besten, bzw. welche Möglichkeiten gibt es denn die nicht auf teuren (MS VC++ und Borland ist für mich teuer) IDEs beruhen?
Das einzige was mir noch einfallen würde ist WinApi, sind alle anderen Libs mehr oder weniger von einer IDE abhängig?
-
Gast05 schrieb:
Mhm vielleicht eine dumme Frage, aber wieso kann nicht irgend nen Held mal ne Standard Lib veröffentlichen die alle diese Funktionen beinhaltet?
Weil C++ keinem gehört, auch keiner Firma. C++ wird von einem Gremium spezifiziert, welches ehrenamtlich den C++ Standard definiert und in die ISO einbringt. D.h. die Mitglieder dieses Gremiums opfern ihre Freizeit und bekommen kein Geld. Sie treffen sich auch regelmäßig pers. weltweit (jedes Mal anderer Standort) um den C++ Standard zu besprechen (kommt ja auch bald der nächste).
Man kann sich vorstellen, das diese Menschen keine Zeit und Lust haben, eine GUI-Lib zu definieren, wenn sie nachher eh niemandem gefällt. Zumal sie es ja dann allen Platformen Recht machen müssten (MacOS, Windows, Motif, usw.). Geht nicht, da dies nicht mal Java 100% leisten kann. Und Java ist ein Kommerzproduk, mit großem Marketing.
Gast05 schrieb:
Ok wenn ich jetzt ein Programm tippen will und das irgendwie im Windows Fenster Style umsetzen möchte - womit mach ich das am besten, bzw. welche Möglichkeiten gibt es denn die nicht auf teuren (MS VC++ und Borland ist für mich teuer) IDEs beruhen?
Gibt es! Die erste Hürde wird aber für dich sein, den Kram zu installieren (was bei MFC usw. einem erspart bleibt, aber nicht gratis ist). Hier ein paar Beispiele von GUI-Libs:
http://www.fltk.org/
FLTK (Fulltick) ist eine GUI-Library für mehrere Platformen. Sehr schlank und doch alles nötige drin für eine GUI.http://www.fox-toolkit.org/
FOX-Toolkit ist eine platformunabhängige Bibliothek zur GUI-Entwicklung. FOX ist für sehr viele Platformen verfügbar: Linux, FreeBSD, SGI IRIX, SunOS/Solaris, HP-UX, IBM AIX, Tru64, div. UNIX und MS Windows.http://www.gtkmm.org
GTKmm bietet eine platformunabhängige Bibliothek zur GUI-Entwicklung mit schönem C++-Design. Eine sehr beliebte Bibliothek unter Linux, unter Windows aber undurchschaubare Installation. *grrr*http://www.trolltech.com
Von Trolltech gibt es eine sehr gute und leistungsfähige Bibliothek mit Tools für RAD (Rapid Applikation Development) namens Qt. Kann man für kommerzielle Entwicklungen nur empfehlen. Für Hobby-Entwickler ist es durch die Lizenzpreise weniger interessant, außer man macht OpenSource-Projekte, dann ist es kostenlos.http://vcf.sourceforge.net/
VCF ist eine neue platformunabhängige GUI-Bibliothek mit einem schönen C++-Design und nativem Look&Feel unter Windows. Scheint zur Zeit nicht viel zu passieren.http://www.wxWidgets.org/
wxWidgets ist eine platformunabhängige Bibliothek, die alle möglichen Bereiche abdeckt, wie GUI, Netzwerk, HTML, FTP, Print, Threads, Sound, Grafik, Datenbanken und XML. Sehr einfache Entwicklung von systemübergreifenden Applikationen möglich und für Hobbyentwickler wegen fehlender Lizenzgebühren geeignet.
-
Gast05 schrieb:
Ok wenn ich jetzt ein Programm tippen will und das irgendwie im Windows Fenster Style umsetzen möchte - womit mach ich das am besten, bzw. welche Möglichkeiten gibt es denn die nicht auf teuren (MS VC++ und Borland ist für mich teuer) IDEs beruhen?
VC++ gibt es auch kostenlos, zumindest die Express Beta 2005. Damit kannst du GUI Programme mittels C++/CLI basierend auf dem .NET Framework programmieren. Wenn du's kommerziell nutzen willst, solltest du dich allerdings erst über die Lizenzbestimmungen schlau machen.
Gast05 schrieb:
Ok wenn ich jetzt ein Programm tippen will und das irgendwie im Windows Fenster Style umsetzen möchte - womit mach ich das am besten
Konkret kann dir das niemand beantworten. Dem einen gefällt da das einfachere Handling besser, dem anderen dort das Design. Am besten du informierst dich einfach über ein paar Libs, zB die von Artchi geposteten, und probierst eine aus. Und wenn sie dir nicht gefällt, dann probierst du halt einfach eine andere.
Gast05 schrieb:
Das einzige was mir noch einfallen würde ist WinApi, sind alle anderen Libs mehr oder weniger von einer IDE abhängig?
Von der IDE direkt nicht, vielmehr vom Compiler. ZB gibt es das Windows PlatformSDK (welches die WinAPI Funktionalität beinhaltet) sowohl für MSC als auch GCC. Beide könntest du aber mit derselben IDE nutzen, zB Codeblocks. Welche Compiler von einer Bibliothek unterstützt werden, findest du idR in der Dokumentation.
-
Gast05 schrieb:
Mhm vielleicht eine dumme Frage, aber wieso kann nicht irgend nen Held mal ne Standard Lib veröffentlichen die alle diese Funktionen beinhaltet?
Ok wenn ich jetzt ein Programm tippen will und das irgendwie im Windows Fenster Style umsetzen möchte - womit mach ich das am besten, bzw. welche Möglichkeiten gibt es denn die nicht auf teuren (MS VC++ und Borland ist für mich teuer) IDEs beruhen?
Das einzige was mir noch einfallen würde ist WinApi, sind alle anderen Libs mehr oder weniger von einer IDE abhängig?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-81596.html