C++ | Betriebssystem unabhängige IDE

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von xXMichaelXx.

    C++ | Betriebssystem unabhängige IDE

    Hallo.
    Ich würde gerne mit C++ anfangen.
    Doch dazu würde ich gerne eine IDE nehmen.
    Ich hab mal gelesen das in der Microsoft IDE "Visual Studio", die ich habe VC++ programmiert wird, und das soll ja wieder rum nur auf Windows laufen.
    Oder nicht?
    Kann mir das jemand erklären ob C++ von der Microsoft IDE "Visual Studio" auch auf Mac, Linux usw. läuft

    Spoiler anzeigen
    Liebe Grüße, Michael.
    Bei VC++ braucht man glaube auch bei Win32 Anwendungen das Visual C++ Redist.
    Aber es gibt viele gute platformunabhängige IDEs.
    • NetBeans IDE
    • Code::Blocks
    • KDevelop
    • Editor + GNU Compiler
    • QT Creator
    Einfach mal Google bemühen, da findest du massen an IDEs ;)
    tja, wer eine Hochsprache lernen will muss das auf sich nehmen ;). Außerdem kannst du bei VC++ einfach ein Win32 Programm erstellen. CLI benötigt das FW aber hat den Designer, Win32 benötigt kein FW und hat keinen Designer ;). Du kannst für Fenster allgemein eigentlich GDK+ und/oder wxWidkets nehmen. Ebenfalls gibt es noch QT, aber bei QT möchte ich dich warnen: bei QT musst du die benötigten QT FW dlls mit beilegen und die Gui und Core dll (die du beide für Fenster brauchst) sind zus. irgendwas rund um die 150MB groß ;)
    In VC++ (zumindest in VS so) auf Neues Projekt -> Allgemein -> Leeres Projekt. Dann erhältst du ein komplett leeres Projekt mit 3 Ordnern, Headerdateien, Quelldateien und einen weiteren. Da kannst du dann gleich per Rechtsklick auf Quelldateien -> Element hinzufügen -> Quelldatei eine Quelldatei hinzufügen (Standardname main.cpp). Solange du CLI auslässt und kein Element hinzufügst, das auf dem FW basiert (z.B. eine Windows-Form), was seitens der IDE eine automatisch zuschaltung von CLR-Unterstützung zur Folge hätte, bleibt die Anwendung Frameworkunabhängig. Eine Cpp Red. ist btw für die Ausführung auch nicht nötig. Ich persönlich bevorzuge VS als Haupt-IDE für C++, meine "Zweit-IDE" ist Code::Blocks mit MingW.
    Ich benutze als IDE für Windows wie bereits gesagt VisualC++, auf dem Mac XCode und unter Ubuntu den GNU. Die Codes lassen sich ja direkt portieren - ohne irgendwas umschreiben zu müssen. Eclipse ist eine gute IDE, wenn man eine einheitliche IDE auf allen Plattformen sucht. Der MingW-Compiler lässt sich soweit ich weiß in Eclipse einbinden (und er ist zu empfehlen). Ansonsten such mal nach Cross-Compiler, das ist ein Compiler, der unter einer Plattform für alle anderen mit erstellt.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „kevin89“ ()

    Ohne hier den ganzen Müll zu lesen... VC++ ist nur ne IDE, mit der man normales C++ codet, die Express-Edition hat einige ungute Einschrenkungen... Als zusätzliche Features werden .net (CIL) und MFC unterstützt. Das Problem ist wohl eher, dass das WinAPI ein einziger Käse ist, und die Binaries unter Windows etwas anderst aussehen, als wo anders - z.B. gibts bei Windows-GUI-Anwendungen ne WinMain (statt der Main). IdR. ruft man dann also in der WinMain die Main auf und setzt die WinMain (zusammen mit API-Deklarationen, sofern notwendig) in ein #ifdef __WIN32 - Makro o.Ä..
    Zu beachten ist auch, dass sich der Compiler mit einigen Pragmas und einigen Eigenheiten vom GCC unterscheidet, was kevin offensichtlich noch nie erleben durfte ;) Wenn man eine Anwendung auf allen System laufen lassen will, sollte man also überlegen, ob man nicht auch unter Windows den GCC verwenden will.

    Wenn man mit Netbeans plattformübergreifend programmieren will, dann bietet es sich an mehrere getrennte Projekte mit den gleichen Sources (mit jeder menge #ifdef) zu machen, da die Makefiles unterschiedlich aussehen. So mache ich das jedenfalls.
    Die meisten IDEs wurden jetzt mittlerweile schon genannt. Die kostenlosen IDEs sind meistens auf den GCC ausgelegt, können aber auch andere Compiler verwenden.
    VC++ ist nur ne IDE, mit der man normales C++ codet |...| Als zusätzliche Features werden .net (CIL) und MFC unterstützt.

    Was anderes hat auch niemand behauptet ;)

    Du hast recht, ich hab Ubuntu gerade erst runtergeladen und bisher habe ich noch nichtmal was kompiliert. Nur davon gelesen.
    Ich hätte eher das "zusätzliches" Fett gemacht. Das ist in etwa so wie Glade / GTK in manchen IDEs integriert ist, nur eben keine freie, sondern eine Windows-Technologie. Bei den plattformunabhängigen Dingen nutzt man _natürlich_ weder .net, noch MFC ;) Ich wollte nur herausstreichen, dass das Features sind, und niemand dazu gezwungen wird diese zu verwenden, wie es offensichtlich von vielen vermutet wird. Lediglich die Express Edition ist so zugeschnitten, dass man quasi aufgefordert wird, damit .net zu programmieren.
    Bezeichnet zwei verschiede Dinge.

    C++/CLI ist eine von Microsoft entwickelte Variante der Programmiersprache C++, die den Zugriff auf die virtuelle Laufzeitumgebung der .NET-Plattform mit Hilfe von speziell darauf zugeschnittenen Spracherweiterungen ermöglicht.

    -> C++/CLI ist eine C++ sehr ähnliche Sprache (das war das Ziel der Entwicklung), die aber zusätzlich Zugriff auf die Methoden des Frameworks erlaubt. Damit geht die plattformunabhängig flöten, dafür hat man auf alle Methoden des Frameworks Zugriff.

    Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist vollständig stackbasiert. Auf dem Zielcomputer wird die CIL von einem Laufzeitsystem (Virtual Execution System) in systemeigenen Programmcode übersetzt, um in CIL vorliegende Programme ausführen zu können.
    CIL ist in frühen Entwicklungsphasen von .NET als Microsoft Intermediate Language (MSIL) bezeichnet worden, mit der Standardisierung der Common Language Infrastructure ist diese Bezeichnung aber verworfen worden.

    MadAndy hat recht - man wird praktisch automatisch dazu verleitet, C++/CLI zu programmieren. Wenn dann rauskommt, dass die Plattformunabhängigkeit hier nicht gegeben ist, denken die meisten, es sei hier nicht möglich natives C++ zu programmieren. Natürlich Quatsch.

    Frage: Wieso überhaupt C++/CLI, wenn es wieder auf dem Framework basiert?
    Mit C++/CLI erstellte Programme sind in der Regel etwas schneller als in anderen .NET-Sprachen geschriebene. Grund dafür ist der C++-Compiler, den es im Vergleich mit anderen Sprachen wie z. B. C# schon länger gibt, und in den schon beträchtlich mehr Aufwand zur Optimierung des erzeugten Codes gesteckt wurde. Zurzeit (2005) sind .NET-Programme, die mit C++/CLI erstellt werden etwa 20 bis 25 Prozent schneller als andere.

    Ich würde vielleicht damit anfangen und mich im nachhinein auch mit nativem C++ beschäftigen

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „kevin89“ ()