gpt4 book ai didi

c - 如何在 Mac 上使用 C 文件创建 Unix Executive 文件

转载 作者:行者123 更新时间:2023-11-30 16:48:28 26 4
gpt4 key购买 nike

我使用 Sublime 3 进行 C 编程。如果我在终端中使用 gcc 编译 C 文件,它将生成一个扩展名为 .out 的可执行文件。但我无法通过双击运行它。如果我在 Sublime 中编译它,我将得到一个 Unix 可执行文件。所以我的问题是为什么 Sublime 中的编译器可以创建 Unix 可执行文件,而终端却不能?

最佳答案

假设您有以下 C 源文件:

$ cat hello.c
#include <stdio.h>

int
main (void)
{
printf ("Hello, world!\n");
return 0;
} // from 'An Intro to GCC'

您可以使用 gcc 将其编译为可执行文件,如下所示:

$ gcc -Wall hello.c -o hello

如果您现在输入路径和命令名称,它将运行:

$ ./hello
Hello, world!

如果您转到 Finder 并双击该文件,它将在新的终端窗口中运行。

但是,如果您这样做:

$ gcc -Wall hello.c -o hello.out

现在在终端中运行:

$ ./hello.out
Hello, world!

看起来不错,但如果您在 Finder 中双击该文件,则会收到错误消息,因为 .out 文件与终端没有 Finder 关联。

如果您想创建一个 C 文件并编译成支持在 Finder 中双击的文件(通过在终端中打开它),您有三个简单的选择:

  1. 在 Finder 中将文件 xx.out 重命名为 xx。它会询问您是否确定,但一旦您确定,它应该可以双击;
  2. 重新配置 Sublime,使其不使用 gccC 文件的 .out 扩展名;
  3. 创建 application bundle (本质上是一个文件夹,具有以可配置方式执行其中文件的双击操作)使用 Apple 工具或类似 Platypus 的工具.

可以 associate使用终端的 .out 文件。我不建议这样做,原因有几个——主要是文件现在可以在您的计算机上运行,​​但不能在其他配置不相似的 OS X 系统上运行。

祝你好运。

关于c - 如何在 Mac 上使用 C 文件创建 Unix Executive 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com