Wie führe ich ein C-Programm unter Mac OS X mit Terminal aus?


81

Ich bin neu bei C. Hier ist meine "Hallo Welt!" Programm.

#include <stdio.h>

int main(void)    
{
  printf("Hello, world!\n");
  return 0;
}

Nachdem ich versucht habe, es mit Terminal auszuführen, heißt es:

MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1
-bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied
MacBook-Pro-MacBook:~ macbook$ 

Warum?



Was ist die Datei "Untitled1"? Ist die Datei, die die Quelle enthält, die Sie in die Frage aufgenommen haben, oder etwas anderes?
Pasaba por Aqui

Ersetzen pintfdurch printf, halten Sie int und main in derselben Zeile.
Walter A

Antworten:


163

Speichern Sie zuerst Ihr Programm als program.c.

Jetzt benötigen Sie den Compiler. Sie müssen also zum App Store gehen und Xcode installieren, den Compiler und die Entwicklungstools von Apple. Wie finde ich den App Store ? Führen Sie eine "Spotlight-Suche" durch, indem Sie tippen Spaceund mit dem Tippen beginnen App Storeund drücken, Enterwenn es richtig erraten wurde.

Der App Store sieht folgendermaßen aus:

Geben Sie hier die Bildbeschreibung ein

Xcode sieht im App Store folgendermaßen aus :

Geben Sie hier die Bildbeschreibung ein

Anschließend müssen Sie die Befehlszeilentools in Terminal installieren . Wie starte ich das Terminal ? Sie benötigen ein anderes zu tun „Spotlight - Suche“ , was bedeutet , Sie tippen Spaceund zu schreiben beginnen Terminalund Hit , Enterwenn es Vermutungen Terminal.

Installieren Sie nun die Befehlszeilentools wie folgt:

xcode-select --install

Dann können Sie Ihren Code kompilieren, indem Sie einfach gccwie in der nächsten Zeile ausführen , ohne die große, hässliche GUI für die Softwareentwicklung starten zu müssen Xcode:

gcc -Wall -o program program.c

Hinweis : In neueren Versionen von OS X würden Sie clangstattdessen gccFolgendes verwenden:

clang program.c -o program

Dann können Sie es ausführen mit:

./program
Hello, world!

Wenn Ihr Programm C ++ ist, möchten Sie wahrscheinlich einen der folgenden Befehle verwenden:

clang++ -o program program.cpp
g++ -std=c++11 -o program program.cpp
g++-7 -std=c++11 -o program program.cpp

6
Wenn gcc -Wall -o program program.cSie dies tun, erhalten Sie hilfreiche Compiler-Warnungen (wenn auch nicht alle), die Ihnen einige der Gründe aufzeigen, warum Ihr Code nicht funktioniert.
Schwern

Schöne Antwort, aber beachten Sie, dass es nicht erforderlich ist, clang explizit aufzurufen - gcc ist ohnehin mit clang verknüpft.
Paul R

51

Stellen Sie zunächst sicher, dass Sie Ihr Programm korrigieren:

#include <stdio.h>

int main(void) {
   printf("Hello, world!\n"); //printf instead of pintf
   return 0;
}

Speichern Sie die Datei unter HelloWorld.cund geben Sie das Terminal ein:

gcc -o HelloWorld HelloWorld.c

Führen Sie anschließend die ausführbare Datei wie folgt aus:

./HelloWorld

Du solltest sehen Hello World!


7
Besser "Speichern Sie die Datei als Untitled.c ". Noch besser: Verwenden Sie einen aussagekräftigeren Dateinamen.
Jongware

11

Arbeiten im Jahr 2019 Standardmäßig können Sie Ihren Namen.c über das Terminal kompilieren

 cc name.c

und wenn Sie laufen müssen, schreiben Sie einfach

 ./name.out

2
Es wird als "a.out" anstelle von f "{name} .out" angezeigt, egal wie der Name lautet. Es ist immer "ein" aus irgendeinem Grund.
Flaming_Dorito

1
@Flaming_Dorito, das ist das Standardverhalten zum Erstellen der ausführbaren Objektdatei. Sie können ihm jedoch einen Namen geben, den Sie mögen. Geben Sie -> cc -o name name.c
Yash Tamakuwala

@ YashTamakuwala ohh ich verstehe. Danke
Flaming_Dorito

9

Ein "C-Programm" soll nicht ausgeführt werden. Es soll in ein "ausführbares" Programm kompiliert werden, das dann von Ihrem Terminal ausgeführt werden kann. Dafür benötigen Sie einen Compiler .

Oh, und die Antwort auf Ihre letzte Frage ("Warum?") Lautet, dass für die Datei, die Sie ausführen möchten, nicht die ausführbaren Rechte festgelegt sind (was ein Compiler normalerweise automatisch mit der Binärdatei tut, was darauf schließen lässt, dass Sie es versucht haben den Quellcode als Skript ausführen, daher der Hinweis zum Kompilieren.)


1
beste Antwort! A "C-program" is not supposed to be run.
Eddie

4

Um dies zu tun:

  1. Terminal öffnen

  2. Geben Sie das Terminal ein : nano; Dies ist ein Texteditor, der für das Terminal verfügbar ist. wenn du das tust. so etwas würde erscheinen.

  3. Hier können Sie Ihr CProgramm eingeben

  4. Geben Sie control(^) + x-> ein, um zu beenden.

  5. Speichern Sie die Datei, indem Sie sie eingeben y, um sie zu speichern

  6. schreibe den Dateinamen; zB helloStack.c(vergiss nicht .c hinzuzufügen )

  7. Wenn dies angezeigt wird, geben Sie ein gcc helloStack.c

  8. dann ./a.out: das sollte dir dein ergebnis geben !!

3

Um das C-Programm in Macos zu kompilieren, führen Sie einfach die folgenden Schritte aus

cd Befehl im Terminal Gehen Sie zu Ihrem c-Programmplatz mit
geben Sie den Befehl vorhanden unten
make Dateinamen
geben Sie dann
./filename


2

Um ein AC-Programm unter Ihrem neuesten MacOS zu kompilieren, geben Sie einfach Folgendes in das Terminal ein, nachdem Sie die Datei mit der Erweiterung .c gespeichert und den Pfad erreicht haben, in dem die Datei gespeichert ist:

cc yourfilename.c

Nachdem Sie alle Fehler nach der Kompilierung überprüft haben (falls vorhanden), geben Sie Folgendes ein, um den Code auszuführen:

./a.out

Diese Befehle wurden unter macOS Mojave getestet und funktionieren einwandfrei.


0

Die Antwort ist chmod 755 hallo - es macht die Datei ausführbar ... Es ist lustig, also hat niemand darauf geantwortet. Ich hatte das gleiche Problem unter MacOS, das jetzt gelöst ist.

nano hello.c machen hallo chmod 755 hallo Dann führen Sie es durch ./hello

clang --version Apple LLVM Version 8.0.0 (clang-800.0.42.1) Ziel: x86_64-apple-darwin15.6.0

nichts wurde installiert, nano make (clang) chmod - alles schon in MacOS


-1

1) Zuerst müssen Sie einen GCC Compiler für Mac installieren (Google it und installieren Sie ihn aus dem Internet).

2) Merken Sie sich den Pfad, in dem Sie die C-Datei speichern

3) Gehen Sie zum Terminal und legen Sie den Pfad fest

zB wenn Sie in einem neuen Ordner ProgramC im Dokumentordner gespeichert haben

   then type this in Terminal
    cd Document
    cd ProgramC

4) Jetzt können Sie sehen, dass Sie sich in einem Ordner befinden, in dem Sie Ihr C-Programm gespeichert haben (Sie können Ihr Programm als Hello.c speichern).

5) Kompilieren Sie nun Ihr Programm

   make Hello
   ./hello
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.