我在Ubuntu操作系统上运行GCC。我用C编写了一个小程序,并尝试编译它。它的输出是一个a.out文件,就像在Windows上一样。我如何让它发布一个Linux可执行文件?
a.out
是可执行文件(假设您已经完成了完整编译,而不仅仅是生成对象文件,但这是最有可能的情况)。要运行它,请使用(从shell):
./a.out
如果你想给它一个不同的名字,只需重命名它,或者更好:
gcc -o actualname myprog.c
获得一个名为actualname
的可执行文件,然后使用运行(当然)
./actualname
见以下文字记录:
pax> cat testprog.c
#include <stdio.h>
int main (void) { printf("Hi.nn"); return 0; }
pax> gcc testprog.c ; ./a.out
Hi.
pax> gcc -o xyzzy testprog.c ; ./xyzzy
Hi.
假设您的C文件是f.C.
gcc f.c
提供了a.out
可执行文件,您可以将其作为./a.out
在终端中运行。
gcc f.c -o myprog
将myprog
作为可执行文件,您可以在终端中将其作为./myprog
运行。
它是一个Linux可执行文件。a.out
文件(实际a.out格式,而不是默认情况下名为a.out的文件)无法在Windows上执行。
在这两种情况下,最有可能得到一个可在本地系统中使用的标准可执行文件,但名称为a.out
。在Linux上,它是一个ELF文件。