0

我的 Ubuntu 操作系统上运行着 GCC。我用 C 写了一个小程序并尝试编译它。它的输出是一个a.out文件,就像在 Windows 上一样。我怎样才能让它输出一个 Linux 可执行文件?

4

3 回答 3

6

a.out 可执行文件(假设您已经完成了完整编译,而不仅仅是生成目标文件,但这是最有可能的情况)。要运行它,请使用(从 shell):

./a.out

如果你想给它一个不同的名字,只需重命名它,或者更好:

gcc -o actualname myprog.c

获得一个名为的可执行文件actualname,然后(当然)运行:

./actualname

请参阅以下成绩单:

pax> cat testprog.c
#include <stdio.h>
int main (void) { printf("Hi.\n\n"); return 0; }

pax> gcc testprog.c ; ./a.out
Hi.

pax> gcc -o xyzzy testprog.c ; ./xyzzy
Hi.
于 2013-08-21T03:36:02.703 回答
2

假设您的 C 文件是fc

gcc f.c提供a.out可执行文件,您可以在终端中以./a.out.

gcc f.c -o myprog作为可执行文件提供myprog,您可以在终端中以./myprog.

于 2013-08-21T03:52:40.510 回答
1

它是一个 Linux 可执行文件。a.out文件(实际a.out 格式,而不是默认名为a.out的文件)无法在 Windows 上执行。

在这两种情况下,您很可能会获得可在本地系统中使用的标准可执行文件,但名为a.out. 在 Linux 上,它是一个 ELF 文件。

于 2013-08-21T03:29:40.127 回答