C Mit dev c++ die .exe Datei versenden, wie?

Jinjay95

Cadet 2nd Year
Registriert
Jan. 2015
Beiträge
20
Hallo

Wir arbeiten in der Schule mit dem dev c++ Programm womit man auch mit der Sprache C programmieren kann.
Wenn man das geschriebene Programm kompiliert und ausführt erstellt dev c++ eine .exe datei.

Jetzt frage ich mich aber wie ich Freunden bzw. bekannten diese .exe Datei senden kann damit man diese öffnen kann, ich habe schon versucht auf einem seperaten Computer die .exe Datei zu öffnen aber es funktioniert nicht, erst wenn ich den Quellcode mit versende & das dev c++ programm auf den Computer downloade.

Hat jemand eine Idee?

Würde mich echt interessieren :)
 
Kompilierte Programme kann man nicht mehr in den ursprünglichen Quelltext zurück umwandeln.
 
Die ausführbare Datei ist ohne das richtige Framework nicht lauffähig. Es kommt darauf an, welche Funktionen/Bibliotheken das Programm verwendet und ob diese auf dem anderen System vorhanden sind.
 
Und wie kann ich am besten diese .exe Datei jemand jetzt versenden der diese dann auch ohne Probleme öffnen kann?
 
Da viele ungeklärte Fragen offenbleiben mal folgende Überlegungen:

.exe lässt sich nur unter Windows ausführen. Eine x64-Exe erfordert ein x64-System. Hast du das bedacht?

Wird eine Fehlermeldung produziert, oder wie äußert sich das "nicht öffnen können"? In der Regel brauchst du nur alle im Compilat erwähnten Bibliotheken auf dem System verfügbar machen. Eventuell ist dein Problem ja hier schon gelistet.
 
Du musst herausfinden, wo das problem ist. Wahrscheinlich fehlt ne .dll im selben Ordner wie die .exe.
Hierfür wäre der erste Schritt, dass du selbst die exe auf einem PC starten kannst, wo du sie eben auch nicht mit DevC++ kompiliert hast. Wenn du den Start der Programms dann nicht per Doppelklick machst sondern per Einfabeaufforderung wirst du wahrscheinlich lesen können, was das Problem ist.
Ein denkbarer Weg wäre hier zB einen zweiten PC / Laptop zu verwenden und die exe dort mal hin zu kopieren. Alternativ ginge natürlich auch eine virtuelle Maschine in der du Windows installiert hast.
 
Jinjay95 schrieb:
Wir arbeiten in der Schule mit dem dev c++ Programm womit man auch mit der Sprache C programmieren kann.
Wenn man das geschriebene Programm kompiliert und ausführt erstellt dev c++ eine .exe datei.

Jetzt frage ich mich aber wie ich Freunden bzw. bekannten diese .exe Datei senden kann damit man diese öffnen kann, ich habe schon versucht auf einem seperaten Computer die .exe Datei zu öffnen aber es funktioniert nicht, erst wenn ich den Quellcode mit versende & das dev c++ programm auf den Computer downloade.

Ein "normales" mingw-gcc-Programm lädt unter Windows eigentlich nur kernel32.dll, msvcrt.dll und user32.dll. Was ist das genau für ein Programm? Was macht das? Ausserdem nimmt man nicht mehr dev-cpp, sondern das viel bessere Orwell-DevCpp.

Ausserdem muss man beachten: wurde das Programm mit einem 32bit oder 64bit-Compiler erzeugt? Ohne weitere Info kann man zu Deinem Problem nichts sagen.
 
Die meisten Windows-Entwicklungsumgebungen bieten die Möglichkeit, die verwendeten Bibliotheken etc. in die zu kompilierende .exe „einzubauen“, sodaß auf einem anderen System nicht alle .dll in einem Verzeichnis wie auf deinem Entwicklungssystem liegen müssen. Das ist zwar nicht sauber, für Programmierübungen am Anfang aber okay. Wie diese Kompilierungsoption bei Dev-C++ genau heißt, mußt du suchen oder in der Hilfe des Programms nachschlagen.
 
Hades85 schrieb:
Dekompilieren?

Ist in der Regel nicht der Ursprungsquellcode aber sehr nah dran.
Abseits von Trivialbeispielen kannst du vergessen, dass da jemals wieder die Struktur vom Originalcode raus kommt…
 
Jinjay95 schrieb:
...ich habe schon versucht auf einem seperaten Computer die .exe Datei zu öffnen aber es funktioniert nicht

"funktioniert nicht" ist KEINE Fehlerbeschreibung!


Wahrscheinlich fehlt eine oder mehrere DLL(s), dies lässt sich mit Hilfe von

Dependency_Walker

herausfinden.
Du kannst es unter

http://www.dependencywalker.com/

herunterladen.
Nach dem Starten einfach auf "File->Open" gehen und Dein EXE-File öffnen. Die fehlenden DLLs werden dann markiert dargestellt.
Um die EXE auf anderen Computern laufen zu lassen musst Du nur noch die fehlenden DLLs mitgeben...


HTH

BigNum
 
Früher was es doch auch so, dass die Express Versionen von Visual Studio nie die Librarys in die exe gelinkt haben und man diese nur ausführen konnte wenn auf dem Rechner auch eine Visual Studio Express Version installiert ist. Eben mit dem Hintergrund dass man mit einem kostenlosem Compiler keine kommerzielle Software vertreibt. Ich tippe also eher auf so ein Problem.
 
Jinjay95 schrieb:
Hallo

Wir arbeiten in der Schule mit dem dev c++ Programm womit man auch mit der Sprache C programmieren kann.
Wenn man das geschriebene Programm kompiliert und ausführt erstellt dev c++ eine .exe datei.

Jetzt frage ich mich aber wie ich Freunden bzw. bekannten diese .exe Datei senden kann damit man diese öffnen kann, ich habe schon versucht auf einem seperaten Computer die .exe Datei zu öffnen aber es funktioniert nicht, erst wenn ich den Quellcode mit versende & das dev c++ programm auf den Computer downloade.
Irgendwie ist jetzt noch nicht so ganz deutlich geworden, was genau du damit meinst, die .exe-Datei zu "öffnen". Willst du

a) die .exe-Datei ausführen

oder

b) den Quellcode, aus dem Dev-C++ die .exe-Datei erstellt hat, anzeigen lassen?

a) sollte auch ohne installerte Dev-C++ Umgebung gehen, eventuell musst du ein paar DLLs mitliefern. b) sollte ebenfalls ohne installiertes Dev-C++ gehen, allerdings brauchst du dann einen alternativen C++-Editor, und du musst natürlich die Quellcode-Dateien mitliefern.
 
@Falc410: Stimmt ab mindestens VS2010E nicht mehr; habe einige Programme damit kompiliert und auf „nackten“ Windows-Maschinen laufen lassen.
 
Würde mal drauf tippen dass die C++ Runtime bei deinen Freunden nicht installiert ist. Beim installieren von Dev C++ werden die dann möglicherweise installiert.
 
Zurück
Oben