1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Wir danken allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben.

C-Quellcode auf Terminal kompilieren ??

Dieses Thema im Forum "Hardware" wurde erstellt von PeterG, 14. Mai 2001.

  1. PeterG

    PeterG New Member

    Weiß jemand, wie man C-Quellcodes, die auf die Standard-Ausgabe schreiben (<stdio.h>) auf dem Terminal kompiliert und das Programm startet? Bei Unix-Systemen geht das problemlos auf dem Terminal und Compiler wie Codewarrior oder der von Symantec erzeugen unter OS 9.x eine eigene Konsole. Der ProjectBuilder von OS X jedoch nicht. Ich will so ein kleines Programm (z.B. "Hello World!") einfach auf dem Terminal laufen lassen. Versuche wie ">cc -o foo foo.c -lm" wie ich sie unter Unix schreibe würde, schlagen fehl. Hat jemand so etwas schon mal probiert und kann mir helfen?
     
  2. Zwoelf11

    Zwoelf11 New Member

    cc -o foo foo.c funktioniert. zumindest bei mir. du musst die developer CD afaik installieren. ich habs gem8 und bei mir gehts =)

    wenns kein cc gibt, liegts dran, dass es nicht installiert ist (also: developer cd vorkramen und installieren!)
    wenn doch: schreib mir was fehlermeldung gibt.

    btw: "cc" unter OS X ist der heissgeliebte, leicht umgeschriebene GCC
    juchu!
     
  3. PeterG

    PeterG New Member

    Ich habe die Developer-CD installiert und cc läuft ja auch. Ich versuche z.B. folgendes zu kompilieren, was auf jedem anderen Rechner funktioniert:

    #include<stdio.h>
    int main()
    {
    print("Hello World
    ");
    return EXIT_SUCCESS;
    }

    Anstatt "Hello World" auf die Shell zu schreiben, gibt das eine Fehlermeldung. Dann habe ich versucht noch Header-Dateien wie carbon.h usw. einzubinden. Dann konnte ich das ganze kompilieren und auf der Shell wurde mir das auch als ausführbare Datei (mit einem *) angezeigt. Wenn ich das Programm aber von der Shell starten wollte, bekomme ich die Fehlermeldung, daß das Programm nicht gefunden wurde, obwohl ich im selben Verzeichnis bin (genaue Fehlermeldung weiß ich gerade nicht).
    Warum ich diesen ganzen Aufwand treibe, ist, daß ich an der Uni C-Quellcodes auf Solaris kompiliere (nur auf der Shell) und dasselbe auch zu Hause auf meinem Mac tun möchte. Da alles ANSI C ist und sogar beides GNU-Compiler und ich auch nur in die Standardausgabe schreibe, müßte das eigentlich funktionieren, was es leider bis jetzt noch nicht tut.
     
  4. Zwoelf11

    Zwoelf11 New Member

    hihi
    1) bei mir gehts
    2) uummm errr dein fehler is wohl: starte das programm mit "./<name>",
    sonst findet ers freilich nicht. das mussu auch unter solaris machen =)
    ausserdem heisst die funktion "printf" mit f hinten =)

    [localhost:~/crap] elph% cat suck.c
    #include <stdio.h>

    int main() {
    printf("Hallo grausame Welt!
    ");
    return 0;
    }
    [localhost:~/crap] elph% cc -o suck suck.c
    [localhost:~/crap] elph% ./suck
    Hallo grausame Welt!
    [localhost:~/crap] elph%
     
  5. PeterG

    PeterG New Member

    Vielen Dank, jetzt funktionierts bei mir auch!
    Daß man das Programm mit ./<name> aufrufen muß, wußte ich nicht, auf dem Solaris-Rechner kann ich das einfach mit <name> aufrufen, wenn ich im selben Verzeichnis bin. Also noch einmal: vielen Dank!
     
  6. michabuzzi

    michabuzzi New Member

    Welche directories das MacOS kennt hängt an der shell variable PATH.
    Die kannst Du Dir anschauen mit echo $PATH.
    Wenn Du Dir in deinem home-directory ein Verzeichnis mit dem namen bin einrichtest und darin Deine Programme compilierst kannst Du jedes Programm direkt mit seinem Namen aufrufen, weil $HOME/bin bereits in der PATH-variable eingetragen ist.
    Die Programme, die Du hier entwickelst kannst Du übrigens auch von außen übers Netzwerk mit einem telnet client ausführen.
    Ich werde demnächst unsere ganze Betriebs EDV, die auf Dialgstandardprogrammen basiert auf MACOSX portieren.
     
  7. michabuzzi

    michabuzzi New Member

    Welche directories das MacOS kennt hängt an der shell variable PATH.
    Die kannst Du Dir anschauen mit echo $PATH.
    Wenn Du Dir in deinem home-directory ein Verzeichnis mit dem namen bin einrichtest und darin Deine Programme compilierst kannst Du jedes Programm direkt mit seinem Namen aufrufen, weil $HOME/bin bereits in der PATH-variable eingetragen ist.
    Die Programme, die Du hier entwickelst kannst Du übrigens auch von außen übers Netzwerk mit einem telnet client ausführen.
    Ich werde demnächst unsere ganze Betriebs EDV, die auf Dialgstandardprogrammen basiert auf MACOSX portieren.
     
  8. michabuzzi

    michabuzzi New Member

    Welche directories das MacOS kennt hängt an der shell variable PATH.
    Die kannst Du Dir anschauen mit echo $PATH.
    Wenn Du Dir in deinem home-directory ein Verzeichnis mit dem namen bin einrichtest und darin Deine Programme compilierst kannst Du jedes Programm direkt mit seinem Namen aufrufen, weil $HOME/bin bereits in der PATH-variable eingetragen ist.
    Die Programme, die Du hier entwickelst kannst Du übrigens auch von außen übers Netzwerk mit einem telnet client ausführen.
    Ich werde demnächst unsere ganze Betriebs EDV, die auf Dialgstandardprogrammen basiert auf MACOSX portieren.
     

Diese Seite empfehlen