So erstellen Sie eine Eigenständige Ausführbare Programm in C++?
Ich soll ein Programm erstellen, könnte auf jedem computer, ohne den source-code, Wie ist das möglich? und macht es einen Unterschied wenn ich OpenGL im Programm?
- Ich verwende Visual C++ Express
- Du meinst, alle Versionen von Windows/MacOs/Linux und alle Prozessor-Architekturen?
- "Alle computer", wörtlich genommen, nicht passieren. Es gibt einige inkompatible Architekturen. Selbst gängige Systeme erfordern verschiedene builds, aber C++ macht immer eine Datei, die ausgeführt werden können, ohne die Quelle, auf jedem kompatiblen computer.
- Ich möchte nicht, das Programm auf verschiedenen Plattformen arbeiten, ich will nur dass es funktioniert auf verschiedenen Rechnern mit der gleichen Plattform.
- So dass Sie wollen, zu kompilieren eine ausführbare Datei, und führen Sie dann das executable auf einem anderen Computer mit dem gleichen Betriebssystem und Architektur (Plattform)? Ich bin undestanding es falsch, oder ist das nicht die Art und Weise alle exectutables Arbeit? 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht-code-ein Programm, dass in C++ funktionieren würde alle computer ohne Ihren source-code kompiliert werden.
Zum Beispiel, könnten Sie vielleicht-code in C++ ein Programm, und kompilieren Sie es und erstellen Sie eine ausführbare Datei, die funktioniert auf Windows x86-64, aber das executable funktioniert nicht auf Linux (oder Mac OS x), und es will nicht auf den ARM (z.B. Android-Handys), es sei denn, Sie erwägen Emulatoren
Wenn Sie entwickeln Ihren code mit Visual C++ müssen Sie prüfen zwei Optionen:
Normalerweise würden Sie link zu Ihrem Objekt Datei, die mit irgendeiner Art von einer Plattform abhängig loader. Dieser Lader lädt Ihre Objekt-und tut all die Sachen, starten Sie es aus dem Gedächtnis. Normalerweise kann man sagen Sie Ihrem compiler die Anbindung der Objekt-Datei und kompilieren Sie den blob. OpenGL ist eine leistungsstarke API und wird in der Regel verteilt ein.dynamic linked library " und ist verbunden mit der zur Laufzeit des Programms. Wenn ich mich daran erinnere, Sie müssen nur sicherstellen, dass die dll, wo Sie es möchten, und laden Sie die dll in deinem Programm aus starten.
C++ - Programm wird kompiliert und verbunden, die in einer ausführbaren Datei, bevor es ausgeführt wird. Sie sollten in der Lage sein zu finden, dass die ausführbare Datei in ein
Debug
oderRelease
Unterordner von dem Ordner mit Ihrem Projekt.OpenGL, wenn Sie nicht mit dem GLUT oder ähnlichen Bibliotheken, sollten nur die mit Windows kommen, und verursachen keine zusätzlichen Probleme. Wenn Sie verwenden GLUT, es ist genug zu bündeln .dll-Datei mit der Anwendung.
In jedem Fall, der source code wird nicht nötig sein.
Durch kompilieren und verknüpfen es in eine ausführbare Datei. Solange Sie Sie nicht verwenden einige interpretierte Sprache (wie Python, Ruby oder so) du bist eine ausführbare Datei zwangsläufig. Das größte problem, Sie kann/wird laufen in Abhängigkeiten zu den Bibliotheken. Allerdings sind diese verbunden, die in eine binäre als auch. Also, was Sie gehen zu Schiff ein .exe; und einige .dll vielleicht. In der Regel würden Sie wickeln Sie diese in ein installer-Paket, die Bereitstellung für die Endanwender. Installateure erstellt werden, mit so etwas wie den "NullSoft Installer System" (NSIS).
OpenGL selbst ist nur eine API, bereitgestellt durch eine system-Bibliothek. Damit Sie nicht Schiff OpenGL mit Ihrem Programm, aber erwarten, dass die Benutzer es auf dem system installiert ist (was der Fall sein wird, wenn er installiert den Grafiktreiber).