如何使用终端在Mac OS X上运行C程序?

Бол*_*аев 68 c macos bash

我是C的新手.这是我的"Hello,world!" 程序.

#include <stdio.h>

int main(void)    
{
  printf("Hello, world!\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在我尝试使用Terminal运行它后,它说:

MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1
-bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied
MacBook-Pro-MacBook:~ macbook$ 
Run Code Online (Sandbox Code Playgroud)

为什么?

Mar*_*ell 132

首先将程序保存为program.c.

现在你需要编译器,所以你需要去App Store并安装Xcode,这是Apple的编译器和开发工具.如何找到App Store?通过键入并开始键入进行"Spotlight搜索",并在猜对时进行点击.SpaceApp StoreEnter

App Store看起来像这样:

在此输入图像描述

XcodeApp Store上看起来像这样:

在此输入图像描述

然后,您需要在终端中安装命令行工具.如何启动终端?您需要执行另一个"Spotlight搜索",这意味着您键入Space并开始键入TerminalEnter在猜到时点击Terminal.

现在安装命令行工具,如下所示:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

然后你就可以编译你的代码,只需gcc像下一行一样运行,而不必启动那个名为的丑陋的丑陋软件开发GUI Xcode:

gcc -Wall -o program program.c
Run Code Online (Sandbox Code Playgroud)

注意:在较新版本的OS X上,您将使用clang而不是gcc像这样:

clang program.c -o program
Run Code Online (Sandbox Code Playgroud)

然后你可以运行它:

./program
Hello, world!
Run Code Online (Sandbox Code Playgroud)

如果您的程序是C++,您可能希望使用以下命令之一:

clang++ -o program program.cpp
g++ -std=c++11 -o program program.cpp
g++-7 -std=c++11 -o program program.cpp
Run Code Online (Sandbox Code Playgroud)

  • 使它成为`gcc -Wall -o program program.c`,您将获得有用的编译器警告(尽管不是全部),它们会告诉您代码无法正常工作的一些原因. (6认同)

小智 40

首先确保你纠正你的程序:

#include <stdio.h>

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

将文件另存为HelloWorld.c并输入终端:

gcc -o HelloWorld HelloWorld.c
Run Code Online (Sandbox Code Playgroud)

然后就像这样运行可执行文件:

./HelloWorld
Run Code Online (Sandbox Code Playgroud)

你应该看到 Hello World!

  • 最好"将文件保存为*Untitled.c*".更好的是:使用更有意义的文件名. (5认同)

Ant*_*uan 14

在 2019 年工作 默认情况下,您可以使用终端编译您的 name.c

 cc name.c
Run Code Online (Sandbox Code Playgroud)

如果你需要运行就写

 ./name.out
Run Code Online (Sandbox Code Playgroud)

  • 无论名称是什么,它都显示为“a.out”而不是 f“{name}.out”。由于某种原因,它总是“a”。 (2认同)

Pie*_*der 8

不应该运行"C程序".它可以编译成一个"可执行"程序,然后可以从您的终端运行.你需要一个编译器.

哦,你最后一个问题("为什么?")的答案是你试图执行的文件没有可执行权限集(编译器通常会自动使用二进制文件,这可以推断出你正在尝试将源代码作为脚本运行,因此提示编译.)

  • 最佳答案!`不应运行“C 程序”。` (2认同)

Sim*_*uko 6

去做这个:

  1. 打开终端

  2. 在终端输入:nano; 这是一个可用于终端的文本编辑器。当你这样做时。这样的东西会出现。

  3. 在这里你可以输入你的C程序

  4. 输入control(^) + x-> 表示退出。

  5. 通过键入y保存文件来保存文件

  6. 写入文件名;例如helloStack.c(不要忘记添加.c

  7. 当出现这个时,输入 gcc helloStack.c

  8. 那么./a.out:这应该给你你的结果!!