터미널을 사용하여 Mac OS X에서 C 프로그램을 실행하는 방법은 무엇입니까?


81

저는 C를 처음 사용합니다. 여기에 "Hello, world!"가 있습니다. 프로그램.

#include <stdio.h>

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

터미널을 사용하여 실행하려고하면 다음과 같이 표시됩니다.

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

왜?



파일 "Untitled1"는 무엇입니까? 질문에 포함 된 소스가 포함 된 파일입니까?
pasaba por aqui

교체 pintfprintf, 같은 행에 INT 메인을 유지한다.
Walter A

답변:


165

먼저 프로그램을 program.c.

이제 컴파일러가 필요하므로 App Store 로 이동하여 Apple의 컴파일러 및 개발 도구 인 Xcode 를 설치해야 합니다. App Store 를 찾는 방법은 무엇입니까? DO가 "Spotlight 검색" 을 입력하여을 Space하고 입력을 시작 App Store하고 히트를 Enter올바르게 추측 할 때.

App Store 는 다음과 같습니다.

여기에 이미지 설명 입력

XcodeApp Store 에서 다음과 같이 보입니다 .

여기에 이미지 설명 입력

그런 다음 터미널에 명령 줄 도구를 설치해야합니다 . 터미널 을 시작하는 방법 ? 또 다른 "Spotlight Search" 를 수행해야합니다. 즉, Space입력 Terminal하고 입력 을 시작 Enter하고 추측 할 때 치는 것을 의미합니다 Terminal.

이제 다음과 같은 명령 줄 도구를 설치합니다.

xcode-select --install

그런 다음 다음과 gcc같은 크고 추악한 소프트웨어 개발 GUI 를 실행 하지 않고도 다음 줄 에서처럼 간단히 실행하여 코드를 컴파일 할 수 있습니다 Xcode.

gcc -Wall -o program program.c

참고 : 최신 버전의 OS X에서는 다음 과 같이 clang대신을 사용 gcc합니다.

clang program.c -o program

그런 다음 다음과 같이 실행할 수 있습니다.

./program
Hello, world!

프로그램이 C ++ 인 경우 다음 명령 중 하나를 사용하는 것이 좋습니다.

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

6
그것을 확인 gcc -Wall -o program program.c당신에게 당신의 코드가 작동하지 않는 몇 가지 이유를 말할 것이다 당신은 (모든 이들의 생각) 도움이 컴파일러 경고를 얻을 수 있습니다.
Schwern

좋은 대답이지만, 명시 적으로 clang을 호출 할 필요는 없습니다. gcc는 어쨌든 clang에 심볼릭 링크됩니다.
Paul R

51

먼저 프로그램을 수정했는지 확인하십시오.

#include <stdio.h>

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

파일을 다른 이름으로 저장하고 HelloWorld.c터미널에 입력합니다.

gcc -o HelloWorld HelloWorld.c

나중에 다음과 같이 실행 파일을 실행하십시오.

./HelloWorld

당신은보고 있어야합니다 Hello World!


7
"파일을 Untitled.c 로 저장 "하는 것이 좋습니다. 더 좋은 점은 더 의미있는 파일 이름을 사용하는 것입니다.
Jongware

11

2019 년 작업 기본적으로 터미널을 사용하여 name.c를 컴파일 할 수 있습니다.

 cc name.c

실행해야하는 경우에는

 ./name.out

2
이름이 무엇이든간에 f "{name} .out"대신 "a.out"으로 표시됩니다. 어떤 이유로 항상 "a"입니다.
Flaming_Dorito

1
@Flaming_Dorito, 실행 가능한 개체 파일을 만드는 기본 동작입니다. 그러나 원하는 이름을 지정하도록 선택할 수 있습니다. 유형 -> CC -o 이름 name.c
야쉬 Tamakuwala

@YashTamakuwala 오 그렇군요. 감사합니다
Flaming_Dorito

9

"C 프로그램"은 실행되지 않아야합니다. 이것은 터미널에서 실행될 수있는 "실행 가능"프로그램으로 컴파일됩니다. 이를 위해서는 컴파일러가 필요합니다.

아, 그리고 마지막 질문 ( "왜?")에 대한 대답은 실행하려는 파일에 실행 권한이 설정되어 있지 않다는 것입니다 (컴파일러는 일반적으로 바이너리를 사용하여 자동으로 수행합니다. 소스 코드를 스크립트로 실행하므로 컴파일시 힌트가됩니다.)


1
베스트 답변! A "C-program" is not supposed to be run.
Eddie

4

이것을하기 위해:

  1. 열린 터미널

  2. 터미널에 입력 : nano; 터미널에서 사용할 수있는 텍스트 편집기입니다. 당신이 이것을 할 때. 이와 같은 것이 나타날 것입니다.

  3. 여기에 C프로그램을 입력 할 수 있습니다.

  4. 입력 control(^) + x-> 종료를 의미합니다.

  5. 파일 y을 저장하려면 입력 하여 파일을 저장하십시오.

  6. 파일 이름을 쓰십시오. 예 helloStack.c( .c 추가하는 것을 잊지 마세요 )

  7. 이것이 나타나면 입력하십시오 gcc helloStack.c

  8. 그때 ./a.out: 결과를 줄 것입니다 !!

3

macos에서 c 프로그램을 컴파일하려면 아래 단계를 따르십시오.

터미널에서 cd ​​명령을 사용하여 c 프로그램 위치
로 이동 한 다음 아래에있는 명령을 입력하십시오.
make filename
그런 다음 ./filename 을 입력
하십시오.


2

최신 macOS에서 ac 프로그램을 컴파일하려면 .c 확장자로 파일을 저장하고 파일이 저장된 경로에 도달 한 후 터미널에 다음을 입력하십시오.

cc yourfilename.c

컴파일 후 모든 오류를 확인했으면 (있는 경우) 코드 실행을 위해 다음을 입력합니다.

./a.out

이 명령은 macOS Mojave에서 테스트되었으며 완벽하게 잘 작동하며 코딩을 응원합니다!


0

대답은 chmod 755입니다. hello-파일을 실행 가능하게 만듭니다 ... 재미 있기 때문에 아무도 대답하지 않았습니다. MacOS에서 같은 문제가 있었는데 이제 해결되었습니다.

nano hello.c make hello chmod 755 hello 그런 다음 ./hello로 실행합니다.

clang --version Apple LLVM 버전 8.0.0 (clang-800.0.42.1) 대상 : x86_64-apple-darwin15.6.0

아무것도 설치되지 않았습니다. nano make (clang) chmod-이미 MacOS 내부에 있습니다.


-1

1) 먼저 Mac 용 GCC 컴파일러를 설치해야합니다 (구글 및 인터넷에서 설치).

2) C 파일을 저장하는 경로를 기억하십시오

3) 터미널로 이동하여 경로 설정

예-문서 폴더의 새 폴더 ProgramC에 저장 한 경우

   then type this in Terminal
    cd Document
    cd ProgramC

4) 이제 C 프로그램을 저장 한 폴더에 있음을 알 수 있습니다 (프로그램을 Hello.c로 저장).

5) 이제 프로그램 컴파일

   make Hello
   ./hello
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.