c-compiler

Dieses Thema im Forum "Hardware" wurde erstellt von eike, 21. November 2001.

  1. eike

    eike New Member

    moin, moin!

    habe gehört unter os X gibt es einen c-compiler. weiß einer von euch wie ich da ran komme?
     
  2. oefie

    oefie New Member

    C- und Objective C-Compiler: Termainal starten. Den Compiler startest Du mit dem Befehl "cc". Für Informationen zur Benutzung des Compilers "man cc" eingeben (Zeigt die Manual-Page an).
    ...oder die Developer-Tools für X von Apple installieren, da ist auch einer dabei!

    Gruß Oefie
     
  3. peter_bey

    peter_bey New Member

    Developertool ist richtig und auch besser, aber beachte für OS X 10.1 gibt es ein komplett neues Developertool (187MB) nur von Apple's Site runterzuladen. Musst allerdings ACD Mitglied sein. Ist aber kein Problem wenn Du dich als Online-Mitglied registrieren lässt.
     
  4. eike

    eike New Member

    okay, der compiler geht jetzt. leider kann ich aber nicht die entstandende datei a.out starten. wie geht den das? ach ja und vielen dank für den tipp mit dem download.
     
  5. Thomas Treyer

    Thomas Treyer New Member

    Hallo,
    natürlich gibt es einen c-compiler, den man vom Terminal aufrufen kann. Das ist so, als würde man verschimmeltes Zwieback-Brot essen, wo man doch nebenan einen hervorragenden Italiener hat. Von Unix-Tools sollte man die Finger lassen, weil es da immer eine bessere Alternative gibt. Was kann schon schlimmer sein als ein Tool, das über die Command-Line des Terminals gesteuert wird und für das man komplizierteste Make-Files entwickeln muss?

    In den Developers Files gibt es nicht nur einen Compiler, sondern gleich auch eine komplette Entwicklungsumgebung (Project Builder und Interface Builder). In der Doku dazu gibt es einfache Tutorials, die man in ein bis zwei Stunden durcharbeiten kann. Wenn man das einmal gemacht hat, wirft man jeden UNIX C-Compiler weg.
    Die Tutorials gibt es für Carbon, Cocoa mit Object-C und Cocoa mit Java.
    Ich finde Java ganz toll, aber das ist natürlich Geschmacksache.

    Thomas
     
  6. Thomas Treyer

    Thomas Treyer New Member

    Das Wichtigste habe ich vergessen...
    a.out ist keine ausführbare Datei, sondern bloß die Ausgabe des Compilers. Das muss natürlich noch gelinkt werden. Natürlich ist bei jedem UNIX auch ein Linker und ein Make-Tool dabei. Diese drei Tools stammen aus der EDV-Steinzeit. Nur unproduktive Freaks arbeiten mit sowas.
    Kommentar eines Freaks:
    Wozu Textverarbeitung? Es gibt doch bereits Schieferplatten, Hammer und Meißel !!!

    Thomas
     
  7. eike

    eike New Member

    ich gebe dir voll und ganz recht, nur erkläre das mal unserem prof. ich brauche c nämlich für die uni...
     
  8. Radiostar

    Radiostar Gast

    Hallo!

    Das Posting hier ist zwar schon etwas aelter, aber trotzdem! ;-)

    In der FH lernen ich gerade C und arbeite mit dem Microsoft Visual Basic c++ Compiler Version 6.0!

    Nur ist es halt auf die Dauer etwas nervig unter Virtual PC den ganzen Kram zu erledigen (vor allem lahm) und bin auf der Suche nach nem C Compiler fuer OS X.

    Dieses Developers Zeugs klingt ja sehr interessant...was mich halt nur interessiert:

    Kannst Du den OS X c Compiler evenentuell mit dem Microsoft Compiler vergleichen? Gibt es bei den Developers-Files auch ne Debug Funktion und vor allem....ist die Syntax die gleiche (sprich: laufen meine schon auf MS Visual Basis C++ geschriebenen Programme auch mit dem OS X Compiler?)?

    Unser Prof. sprach auch ab und zu von nem GNU Compiler, der so aehnlich sei wie der MS Compiler, habe aber nichts entsprechendes gefunden!

    Viele Gruesse,
    Radiostar (in der Hoffnung VPC bald loeschen zu koennen)
     
  9. AndreasG

    AndreasG Active Member

    s VisualC++ bzw. neu die .Net-Entwicklungsumgebung (C# etc.) Vor allem die kontextsensitive Online-Hilfe (MSDN) sucht seinesgleichen. Da kann CodeWarrior nicht mithalten. Ich gäbe einiges dafür, wenn Microsoft ihre Entwicklungsumgebung auf den Mac portieren würde. Tja, da werd' ich wohl noch lange darauf warten müssen...

    Gruss
    Andreas
     
  10. MacELCH

    MacELCH New Member

    Sag mal Deinem Prof, es gibt auch was besseres als C, nennt sich Perl und ist bei OS X mit an Bord.

    Free for Flames *g*

    Gruß

    MacELCH
     
  11. Radiostar

    Radiostar Gast

    ...das befuerchte ich leider auch! ;-)

    Trotzdem danke...werde dann halt wohl mit VPC und M$ weiterleben muessen!

    Gruesse,
    Radiostar
     
  12. bout

    bout New Member

    Das Problem der MS Entwicklungsumgebung ist, dass der produzierte Code nicht unbedingt den Standards entspricht, somit gewisse Aktionen zu anderen als den eigentlich gewünschten Ergebnissen führen. Somit ist zwar ein gewisser Komfort vorhanden, aber an Standards hält sich Microsoft nicht. So kenn ich genügend Leute die mit dem PC arbeiten und den CodeWarrior vorziehen. (So wird z. B. wenn in einer Schleife eine neue Variable definiert wird: for(int i;...;...) diese Variable auch nach aussen Sichtbar, was diese nach C-Spezifikation nicht dürfte....)

    Gruss

    bout
     
  13. AndreasG

    AndreasG Active Member

    Der Code muss ja gar keinen Standards entsprechen, da M$ schliesslich die Standards selber definiert, oder ;-)

    Aber Du hast natürlich schon Recht, CodeWarrior produziert ja Code für verschiedenste Platformen und kann sich daher keine von der Norm abweichende Goodies leisten.

    Ich arbeite beruflich schon seit vielen Jahren mit VisualStudio, und wir hatten schon Probleme, dass einem die Haare zu Berge stehen. Ganz besonders lustig sind auch "static"-Definitionen bzw. deren Initialisierungreihenfolge. Das kann einem das schönste, objektorientierte Konzept versauen.

    Da ich CodeWarrior nur privat verwende, kenne ich das Tool nicht bis ins letzte Detail. Was mir halt einfach jeweils auffällt, ist die schlechte Kontexthilfe und das Chaos bei den Import-Libraries, die mit jedem neuen Release komplett umgestellt werden. Ich habe es bisher noch nie auf Anhieb geschafft, ein altes Projekt mit einem neune CW-Release zu kompilieren. M$ ist dahingehend wesentlich komfortabler zu handhaben. Und auch der Debugger ist unter VisualStudio wesentlich leistungsfähiger als sein CW-Pendant.

    Gruss
    Andreas
     
  14. PeterG

    PeterG New Member

    Wenn Du nicht gerade graphische Elemente erzeugen willst sondern nur Berechnungen mit Textausgabe, ist der C-Compiler unter OS X auf jeden Fall die bessere Wahl. Nun zu Deinen Problemen:

    Die Ausgabedatei (das Programm) muss nicht a.out heissen. Mit cc quelltext.c -o NAME_DEINER_WAHL -O3 heisst das fertige Programm NAME_DEINER_WAHL, die Option O3 optimiert dein Programm, so dass es vielleicht schneller laeuft (es gibt O1 bis O4, genauere Info gibts in der Doku zum Compiler im Developer Tools Ordner).

    Die Datei laesst sich nur vom Terminal starten. Sie muss als ausfuehrbar gekennzeichnet sein. Das sollte der Compiler erledigen. Wenn nicht einfach in das Verzeichnis, wo das Programm liegt, wechseln ls -l tippen und gucken, ob fuer Dein Programm das Flag x gesetzt ist, z.B. rwxr-xr-x.

    Wenn ja, dann kann das Programm gestartet werden. Programme im aktuellen Ordner werden unter Unix bzw. Linux bzw. OS X gestartet, indem man Punkt und Slash dem Programmnamen voranstellt, also hier ./NAME_DEINER_WAHL

    Dann laeufts. Klingt vielleicht ein bisschen viel auf einmal, aber kurz gesagt musst Du typischerweise nur tippen

    cc quelltext.c -o NAME_DEINER_WAHL (mit oder ohne -O3)
    ./NAME_DEINER_WAHL
     

Diese Seite empfehlen