kostenloser Webspace werbefrei: lima-city


Ubuntu C++ Programm gibt nichts aus

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    krisi12345

    Kostenloser Webspace von krisi12345

    krisi12345 hat kostenlosen Webspace.

    Ich hab, man könnte sgen grad mit C++ angefangen da ich davor bzw. jetzt immer noch mit Python arbeite.
    Also hab ich ein einfaches "Hello World!!!" Programm geschrieben:
    # include <stdio.h>
    # include <stdlib.h>
    
    int main(void) {
    	printf( "Hello World!!!" );
    }

    Wenn ich es in der Ubuntu Konsole dann aber mit gcc printf.c bzw. g++ printf.c ausführe geschieht keine Ausgabe.
    Es wird zwar ausgeführt, denk ich mal da im falle eines Fehlers der angezeigt wird aber sonst nix.
    Was hab ich falsch gemacht oder woran liegt das?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Erstens: Das ist ein reines C Programm und kein C++. Von daher ist es sinnvoll gcc statt g++ zu nehmen (was du im prinzip ja auch getan hast).


    Wenn ich es in der Ubuntu Konsole dann aber mit gcc printf.c bzw. g++ printf.c ausführe geschieht keine Ausgabe.

    gcc ist ein Compiler und kein Interpreter. Mit gcc wandelst du deinen Code in ein eigenständiges Programm um.
    gcc mein_programm,c -o so_soll_die_ausgabedatei_heissen
    ./so_soll_die_ausgabedatei_heissen #programm ausführen

  4. gcc compiliert und linkt das programm nur.
    Da du keinen Namen für das Programm angegeben hast wird "a.out" als standard benutzt.

    richtig wäre es einen namen für Dein Programm anzugeben (ich habe my_printf benutzt):

    Compilieren
    gcc printf.c -o my_printf


    Programm starten:
    ./my_printf


    dann kommt auch was ;-)
  5. Autor dieses Themas

    krisi12345

    Kostenloser Webspace von krisi12345

    krisi12345 hat kostenlosen Webspace.

    Juhu :-D
    Aber was sollte ich machen/benutzen damit ich das Programm direkt starten kann?
    Eine IDE/Entwcklungsumgebung möchte ich aber nicht in betracht ziehen da ich mit denen so meine schlechten Erfahrungen habe (-;

    Hat gcc da keinen Befehl? gcc --help hat mir nicht geholfen
  6. Was gcc erzeugt ist so etwas wie eine *.exe Datei unter Windows, der User bekommt die von gcc erstellte Datei und kann sie dann genauso wie du mit
    ./dateiname
    starten.

    Damit du es einer Scriptsprache ähnlich starten kannst könntest du ein Programm schreiben was einen Quelltext als Argument erwartet, das ganze in ein temporäres Programm compiliert und es startet, das könntest du z.b. mit Python machen da du das ja bereits kannst.

    Beitrag zuletzt geändert: 10.5.2010 19:02:33 von fatfox
  7. Autor dieses Themas

    krisi12345

    Kostenloser Webspace von krisi12345

    krisi12345 hat kostenlosen Webspace.

    fatfox schrieb:
    Was gcc erzeugt ist so etwas wie eine *.exe Datei unter Windows, der User bekommt die von gcc erstellte Datei und kann sie dann genauso wie du mit
    ./dateiname
    starten.

    Damit du es einer Scriptsprache ähnlich starten kannst könntest du ein Programm schreiben was einen Quelltext als Argument erwartet, das ganze in ein temporäres Programm compiliert und es startet, das könntest du z.b. mit Python machen da du das ja bereits kannst.

    Ja das weis ich:
    Es (kann) erzeugt eine ausführbare bzw. eine .so datei die man in anderen programmen importieren kann.
    Aber meine eigentliche Frage war:
    Aber was sollte ich machen/benutzen damit ich das Programm direkt starten kann?


    Edit: ok, dann versuche ich es doch mit einer IDE. Aber was könnt ihr mir empfehlen, am besten was das man im Software center findet.

    Beitrag zuletzt geändert: 10.5.2010 19:05:25 von krisi12345
  8. Aber was sollte ich machen/benutzen damit ich das Programm direkt starten kann?

    Ganz einfach: Dein Programm muss in einem Ordner liegen, wo Linux auch nach ausführbaren Programmen sucht.
    Mit
    echo $PATH

    listet er dir alle Ordner auf, wo ausführbare Programme drin liegen. Für deine eigenen Programme empfiehlt es sich einen eigen Ordner zu erstellen, wie zum Beispiel /home/krisi/bin und in diesen Ordner alle deine eigenen Programme abzulegen.

    Jetzt musst du Linux nur noch sagen, dass es in diesen Ordner reinschauen soll. Öffne dazu die Datei /home/krisi/.bashrc und füge folgende Zeile hinzu:
    PATH=$PATH:/home/krisi/bin

    danach kannst du deine Programme direkt in jeder neu geöffneten Shell starten.


    Edit: ok, dann versuche ich es doch mit einer IDE. Aber was könnt ihr mir empfehlen, am besten was das man im Software center findet.

    Du brauchst keine IDE. Aber wenn du umbedingt willst, schau dir mal Emacs an.
  9. Hm wenn ich es richtig verstanden hab, dann möchte er einfach blos wie in einer IDE in einem Rutsch die Kompilation und Ausführung haben. Es ist zwar nicht ganz sauber aber du kannst ein Makefile dafür benutzen. Das ist eine Datei, die makefile heißt und in der du alle Schritte, die zur Kompilation notwendig sind aufschreibst. In der Regel benutzt man soetwas für große Projekte aber du kannst es "missbrauchen" und in dein makefile schreiben:
    all:
    \t gcc printf.c -o printf
    \t ./printf

    Achtung die "\t" sind tabs und zwingend notwendig!(Ich kann hier leider keine echten Tabs einfügen)


    Wenn du dich dann in der Konsole im Entsprechenden Pfad befindest, also dort, wo makefile und printf.c liegen, dann gibst du einfach "make" ein und drückst ENTER. Dieses Programm liest das makefile und führt die Befehle darin aus, sprich es wird erst die printf.c kompilieren zu printf und dann ausführen.

    Beitrag zuletzt geändert: 15.5.2010 13:36:28 von sektor
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!