wie man C ++ Programme erstellt, ohne dass ein .net Framework ausgeführt werden muss (wie ccleaner und utorrent)

7

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.

    
luq 26.09.2010, 12:25
quelle

5 Antworten

15
  

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

    
Jim Brissom 26.09.2010, 12:30
quelle
4

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.

    
Alex F 26.09.2010 12:30
quelle
3

Wenn Sie das Projekt erstellen, richten Sie es als Win32-Projekt und nicht als CLR-Projekt ein. Dadurch wird sichergestellt, dass Sie mit dem C ++ - Standard und nicht mit der für .Net verwendeten verwalteten C ++ - Variante kompilieren.

    
andand 26.09.2010 12:30
quelle
2

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.

    
Steve Townsend 26.09.2010 13:22
quelle
1

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

verwendet

3 - 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

    
Dr. Mina Mounir 29.11.2010 01:21
quelle

Tags und Links