Hello Joe: Wie erstelle ich eine .exe in C

Hallo,
ich hab mit meinem Studium im März angefangen und hab in Info. 1, "Programmieren in C". Da ich nun das erste mal mit einer Programmiersprache zu tun habe und auch ein gewisses Interesse dafür besteht hat sich bei mir immer wieder eine Frage aufgedrängt. Und zwar, wie kann man in C eine .exe erstellen um dann sein Programm abzuspielen. Der Hintergrund Gedanke ist der das man z.B. sein selbst geschriebenes Programm jemanden zeigen möchte, der keine IDE auf seinem Rechner hat.
Ich hoffe ihr könnt einem Anfänger vllt. ein wenig was beibringen.

P.S. ich weiss nicht ob das Relevant ist, aber ich benutze MS XP und meine IDE ist Code::Blocks 8.02.

  1. Grüße,
    je nachdem womit du arbeitest - aber beim Testlauf wird immer eine exe compiliert.
    bei necrosoft visual studio, liegt diese im project/debug
    sei aber gewarnt - es ist nicht garantiert, dass diese exe auf anderen Rechnern läuft - soweit meine Unwissenheit reicht, scheint es für einen spezifischen Prozessor (den den du hast) kompiliert zu sein.
    MFG
    bleicher

    1. Hi there,

      je nachdem womit du arbeitest

      soweit richtig - aber -

      aber beim Testlauf wird immer eine exe compiliert.

      eine exe-Datei respektive ein ausführbares Programm entsteht nicht durchs komplilieren sondern erst durch das Einbinden der nötigen Librarys etc., eben durchs "Linken"...

      bei necrosoft visual studio, liegt diese im project/debug

      Hää?

      sei aber gewarnt - es ist nicht garantiert, dass diese exe auf anderen Rechnern läuft - soweit meine Unwissenheit reicht, scheint es für einen spezifischen Prozessor (den den du hast) kompiliert zu sein.

      CPU-spezifische Optimierungen gibts bei jedem Compiler/Linker, die sind aber immer optional und sinnigerweise nie als Default-Einstellungen konzipiert...

      1. Grüße,

        CPU-spezifische Optimierungen gibts bei jedem Compiler/Linker, die sind aber immer optional und sinnigerweise nie als Default-Einstellungen konzipiert...

        ein auf meinem Rechner mithilfe von MS visual studio 2005 express kompiliertes exe (genbauer egsagt die exe, die bei debugg-anläufen erstellt wird, die wird im o.g. ordner angelegt) lässt sich nicht auf einem anderen Rechner ausführen - nur nach einer Neukompielierung.

        MFG
        bleicher

        1. Hi there,

          ein auf meinem Rechner mithilfe von MS visual studio 2005 express kompiliertes exe (genbauer egsagt die exe, die bei debugg-anläufen erstellt wird, die wird im o.g. ordner angelegt) lässt sich nicht auf einem anderen Rechner ausführen - nur nach einer Neukompielierung.

          ja, weil das keine "echter" Exe-File ist sondern nur ein Kompilat, das die Entwicklungsumgebung von Visualstudio benötigt. (Das kannst Du auch an der Größe der Exe-Datei erkennen...)

        2. Hallo,

          ein auf meinem Rechner mithilfe von MS visual studio 2005 express kompiliertes exe (genbauer egsagt die exe, die bei debugg-anläufen erstellt wird, die wird im o.g. ordner angelegt) lässt sich nicht auf einem anderen Rechner ausführen - nur nach einer Neukompielierung.

          Man sollte msvs auch nicht nutzten.
          Früher hatte ich alles mit DevCpp erstellt. Heute mach ich alles mit Code::Blocks. Und da sind die Exen auf so ziemlich jeden Rechner, wo exen laufen lauffähig.

          MfG. Christoph Ludwig

          --
          Wo die Sprache aufhört, fängt die Musik an...
          Selfcode:  sh:( fo:| ch:} rl:( br:> n4:? ie:{ mo:) va:} js:| de:> zu:) fl:( ss:) ls:&
          Go to this
          1. Hallo,

            Früher hatte ich alles mit DevCpp erstellt. Heute mach ich alles mit Code::Blocks. Und da sind die Exen auf so ziemlich jeden Rechner, wo exen laufen lauffähig.

            du solltest mehr auf deine Rechtschreibung achten: Die Reptiliengattung schreibt sich "Echsen".

            *scnr*
             Martin

            --
            Man soll den Tag nicht vor dem Abend loben.
            Und den Mann nicht vor dem Morgen.
              (alte Volksweisheit)
            1. du solltest mehr auf deine Rechtschreibung achten: Die Reptiliengattung schreibt sich "Echsen".

              wobei es linguistisch gesehen eigentlich "Dechse" heissen müsste... das Wort "Echse" kommt daher, weil irgendwer das Wort egedehse (eidehse) falsch getrennt hat. Vgl. Ei|Dechse

              siehe auch hier

              1. Hallo.

                wobei es linguistisch gesehen eigentlich "Dechse" heissen müsste... das Wort "Echse" kommt daher, weil irgendwer das Wort egedehse (eidehse) falsch getrennt hat. Vgl. Ei|Dechse

                Bestenfalls umstritten.

                siehe auch hier

                Ohne Belang.
                MfG, at

          2. Hallo,

            » ein auf meinem Rechner mithilfe von MS visual studio 2005 express kompiliertes exe (genbauer egsagt die exe, die bei debugg-anläufen erstellt wird, die wird im o.g. ordner angelegt) lässt sich nicht auf einem anderen Rechner ausführen - nur nach einer Neukompielierung.

            Es ist keine besonders gute Idee, Debug-Versionen verteilen zu wollen. Dafür ist die Release-Version da. Ok, die Hersteller von SoftRAM haben auch Debug-Versionen in Umlauf gebracht ...

            Standard ist "any cpu". Meine Programme laufen wunderbar auf den Zielrechnern ( eine entsprechende .NET-Installation vorausgesetzt).

            Man sollte msvs auch nicht nutzten.

            so unterschiedlich sind die Meinungen: Visual Studio ist eine sehr angenehme Entwicklungsumgebung, die ich sehr gerne nutze, wenn ich Software für Windows schreibe. Die Alternativen fand ich nicht besonders überzeugend.

            Freundliche Grüße

            Vinzenz

            1. Grüße,

              Visual Studio ist eine sehr angenehme Entwicklungsumgebung, die ich sehr gerne nutze, wenn ich Software für Windows schreibe. Die Alternativen fand ich nicht besonders überzeugend.

              kein klammerhighlight?

              MFG
              bleicher

          3. Man sollte msvs auch nicht nutzten.

            Kannst du dazu einen Grund angeben? Ich nutze es auch und wüsste nicht was ich sonst vergleichbares nehmen könnte.
            Das einzige was mich manchmal dran stört ist die für Windows typische Tatsache dass in jedem Fenster mindestens ein Scrollbalken sein muss (Optionen und sonstige).

            1. Hallo,

              Man sollte msvs auch nicht nutzten.
              Kannst du dazu einen Grund angeben? Ich nutze es auch und wüsste nicht was ich sonst vergleichbares nehmen könnte.

              Also ich nutze Code::Blocks und bin Hoch-Zufrieden. Bis jetzt hatte ich noch keine Probleme damit.
              Ich muss sagen, dass ich msvs nur in der schule benutzt hatte( ganz früher, dann gabs DevCpp ). Da wir in der Schule keine Projekte erstellten, sondern nur kleine frimelprogramme( ok, ich hab hauptsächlich dann auf dem Laptop gearbeitet, weil mir der Unterrichtsstoff zu langweilig war ) hat mich das genervt, das msvs ein dutztend Dateien erstellt hat.
              DevCpp erstellte nur eine *.exe und eine *.c . Schon alleine dieser Umstand reichte damals, mich davon zu verabschieden.
              Zudem fand ich es Umständlich, das man nicht auf Kompiliern drücken konnte, ohn schwups, gings los. Nein, da musste erst jedes verdammte Mal noch so ein Fenster aufpoppen mit ner Sinnlosen Frage.
              Es sind eher viele kleine Dinge, die mich genervt haben.

              Auch wenn DevCpp total veraltet ist, nutze ich ihn manchmal immernoch( ja, ok. Nicht für große Sachen ).

              MfG. Christoph Ludwig

              --
              Wo die Sprache aufhört, fängt die Musik an...
              Selfcode:  sh:( fo:| ch:} rl:( br:> n4:? ie:{ mo:) va:} js:| de:> zu:) fl:( ss:) ls:&
              Go to this
    2. Hallo,

      sei aber gewarnt - es ist nicht garantiert, dass diese exe auf anderen Rechnern läuft - soweit meine Unwissenheit reicht

      nett formuliert, so hab ich das auch noch nicht gehört. ;-)

      scheint es für einen spezifischen Prozessor (den den du hast) kompiliert zu sein.

      Nein, sicher nicht.
      Aber MS Wuschel Studio hat in der Defaulteinstellung die (IMHO blöde) Angewohnheit, die Standard-Bibliotheken nicht statisch einzubinden, sondern dynamisch als DLL. Wer die Anwendung dann verwenden will, braucht die MS-Runtime-DLLs, meist irgendwelche msvcrt*.dll (die man gemäß einer Redistribution License auch mit dem eigenen Programm weitergeben darf).
      Wenn man die erzeugten Executables auf jedem Windows-PC ausführen möchte, ohne derartige Voraussetzungen machen zu müssen, muss man diese Standard-Bibliotheken statisch mitlinken. Das macht die EXE-Datei etwas größer, dafür aber unabhängig.

      So long,
       Martin

      --
      Zwei Stammtischbrüder:
      Hier steht, dass laut Statistik über 60 Prozent aller Ehefrauen fremdgehen.
      Was soll ich mit dieser Information? Ich brauche Namen, Fotos, Telefonnummern ... !