Ich habe mich gefragt, wie Programme wie ccleaner und utorrent gemacht werden? AFAIK sind sie in C ++ geschrieben, aber sie laufen ohne die Notwendigkeit von. NET-Framework und anscheinend auch auf Windows 98 ausgeführt. Wie kann das gemacht werden? Visual C ++ erfordert, dass .NET Framework installiert wird, um die Binärdatei auszuführen.
Während .net framework kostenlos ist, kann es ein Aufwand sein, und es würde wahrscheinlich viele Benutzer wegwerfen, da das Setup 20MB + ist und mehrere Dateien / Registry-Einträge installiert.
Visual C ++ benötigt .net-Framework zu installiert sein, um die Binärdatei auszuführen.
Nein, tut es nicht. Tatsächlich sind C ++ und das .NET-Framework nicht miteinander verwandt. Sie benötigen das .NET-Framework nur, wenn Ihre Anwendung in C ++ / CLI geschrieben ist, was weit entfernt von normalem C ++ ist.
Wenn Sie eine Anwendung in Standard-C ++ entwickeln, benötigen Sie nicht das .NET-Framework, sondern nur die mit Ihrer Toolchain ausgelieferte Laufzeit (Visual C ++, Mingw, was auch immer). In einigen Fällen können Sie auch statisch auf die Runtime verweisen, so dass Sie nicht einmal DLLs verteilen müssen.
Wie zum Erstellen von GUIs in regulären C ++ gibt es Toolkits da draußen. Microsoft bietet die nackte Windows API, MFC, WTL und es gibt Produkte von Drittanbietern, wie Qt oder wxWidgets
Erstellen Sie ein natives C ++ - Projekt, ohne CLI zu verwenden. In VC ++ Application Wizard können Sie einen beliebigen Typ außer CLI auswählen.
Natives C ++ - Projekt hat seine eigenen Laufzeitanforderungen: C / C ++ - Laufzeit, MFC-Laufzeit (wenn MFC verwendet wird), aber .NET Framework ist nicht erforderlich.
Es ist wichtig, den Unterschied zwischen nativem und verwaltetem Code unter Windows zu verstehen. Es gibt eine grundlegende Diskussion dieses Themas auf SO hier und einen tieferen Sprung von a Microsoft Person hier .
Ihr Interesse daran, eine Abhängigkeit von .Net Framework einzugehen, kann veraltet sein - neue PCs würden es standardmäßig installieren, da Vista und Windows 7 es enthalten, und viele ältere haben es aufgrund bestehender .Net-Anwendungen oder via Automatisches Update von Microsoft - Es gibt einige Informationen zu relativen Penetrationsraten der .Net-Version hier .
Das heißt, ich würde C ++ / CLI nicht wählen, wenn Sie keine Interoperabilität zwischen systemeigenem und verwaltetem Code haben - verwenden Sie C ++ für natives und C # für verwalteten Code.
Meiner Meinung nach gibt .NET Framework nur hohe Produktionsgeschwindigkeit, sonst hasse ich es.
Verwenden Sie .Net wenn:
1 - Sie möchten die Produktion beschleunigen
2 - Sie programmieren bereits mit einem Team, das .Net
verwendet3 - Sie wollen Portabilität (nur zwischen Fenstern und unterstützenden Systemen)
Verwenden Sie normale / native Win32-Programmierung, wenn:
1 - will mehr Freiheit
2 - will mehr Kontrolle über das System und das Programm schreiben
3 - Überzählige Zeit haben
Tags und Links .net c++ frameworks