【问题标题】:How can I run a C program on Mac OS X using Terminal?如何使用终端在 Mac OS X 上运行 C 程序?
【发布时间】:2015-11-27 01:06:27
【问题描述】:

我是 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”?该文件是否包含您在问题中包含的来源或其他任何内容?
  • printf替换pintf,保持int和main在同一行。

标签: c macos bash


【解决方案1】:

在 Mac 上 gcc 默认安装在/usr/local/bin

运行 C:

gcc -o tutor tutor.c 

【讨论】:

    【解决方案2】:

    要在最新的 macOS 上编译 c 程序,只需在以 .c 扩展名保存文件并到达保存文件的路径后在终端中键入以下内容:

    cc 你的文件名.c

    在编译后检查所有错误(如果有)后,键入以下内容以执行代码:

    ./a.out

    这些命令在 macOS Mojave 上经过测试,运行良好, 干杯编码!

    【讨论】:

      【解决方案3】:

      答案是 chmod 755 hello - 它使文件可执行...这很有趣,所以没有人回答。我在 MacOS 上遇到了同样的问题,现在已经解决了。

      纳米你好.c 打个招呼 chmod 755 你好 然后通过 ./hello

      运行它

      clang --version 苹果 LLVM 版本 8.0.0 (clang-800.0.42.1) 目标:x86_64-apple-darwin15.6.0

      没有安装任何东西,nano make (clang) chmod - 已经在 MacOS 中了

      【讨论】:

        【解决方案4】:

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

         cc name.c
        

        如果您需要运行,只需编写

         ./name.out
        

        【讨论】:

        • 无论名称是什么,它都显示为“a.out”而不是 f“{name}.out”。出于某种原因,它总是“a”。
        • @Flaming_Dorito,这是创建可执行目标文件的默认行为。但是,您可以选择给它一个您喜欢的名称。输入 -> cc -o name name.c
        • @YashTamakuwala 哦,我明白了。谢谢
        【解决方案5】:

        在 macOS 中编译 c 程序只需按照以下步骤进行

        在终端中使用 cd 命令转到您的 c 程序位置
        然后 输入下面的命令
        制作文件名
        然后输入
        ./filename

        【讨论】:

          【解决方案6】:

          为此:

          1. 打开终端

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

          3. 您可以在此处输入您的C 程序

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

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

          6. 写入文件名;例如helloStack.c(别忘了加上.c

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

          8. 然后./a.out:这应该会给你你的结果!!

          【讨论】:

            【解决方案7】:

            首先确保你更正了你的程序:

            #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!

            【讨论】:

            • 最好“将文件另存为 Untitled.c”。更好的是:使用更有意义的文件名。
            【解决方案8】:

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

            现在你需要编译器,所以你需要去App Store安装苹果的编译器和开发工具Xcode。如何找到App Store?通过键入 Space 执行 “Spotlight Search”,然后开始键入 App Store,并在猜到时按 Enter正确。

            应用商店如下所示:

            XcodeApp Store 上看起来像这样:

            然后你需要在Terminal中安装命令行工具。如何启动终端?您需要再执行一次“Spotlight Search”,这意味着您输入 Space 并开始输入 Terminal 并按 Enter 当它猜到Terminal时。

            现在像这样安装命令行工具:

            xcode-select --install
            

            然后你可以通过简单地运行gcc 来编译你的代码,就像在下一行中一样,而不必启动名为Xcode 的又大又丑的软件开发GUI:

            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
            

            【讨论】:

            • 设为gcc -Wall -o program program.c,您将收到有用的编译器警告(尽管不是全部),这些警告会告诉您代码无法正常工作的一些原因。
            • 不错的答案,但请注意,无需显式调用 clang - gcc 符号链接到 clang。
            【解决方案9】:

            1) 首先你需要安装一个 GCC Compiler for mac(谷歌它并从网上安装它)

            2) 记住你存放 C 文件的路径

            3) 转到终端并设置路径

            例如,如果您已保存在 Document 文件夹中的新文件夹 ProgramC 中

               then type this in Terminal
                cd Document
                cd ProgramC
            

            4) 现在您可以看到您在保存 C 程序的文件夹中(让您将程序保存为 Hello.c)

            5) 现在编译你的程序

               make Hello
               ./hello
            

            【讨论】:

              【解决方案10】:

              不应运行“C 程序”。它旨在被编译成一个“可执行”程序,然后可以从您的终端运行。为此,您需要 compiler

              哦,您最后一个问题(“为什么?”)的答案是您尝试执行的文件没有设置可执行权限(编译器通常会自动处理二进制文件,让我们推断您试图将源代码作为脚本运行,因此提示编译。)

              【讨论】:

              • 最佳答案! A "C-program" is not supposed to be run.
              • 我相信对这个 SO 问题的合理答案应该包括关于如何编译和执行用 C 编写的程序的说明。这个答案不包含任何这样的说明,因此投反对票。如果您不同意,请告诉我。
              猜你喜欢
              • 2014-12-12
              • 1970-01-01
              • 2016-01-10
              • 1970-01-01
              • 1970-01-01
              • 2013-07-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多