Linux新手问题:GCC编译器输出

我是一个Linux的完全新手。 我有一台笔记本电脑薄荷,最近一直在玩它。

我写了一个简单的C程序,并保存该文件。 然后在命令行中input

gcc -c myfile 

并popup一个名为a.out的文件。 我天真(经过多年的Windows使用)期望一个不错的.exe文件出现。 我不知道如何处理这个a.out文件。

-o命名并跳过-c

 gcc -Wall -o somefile myfile 

你应该为你的源文件命名为.c扩展名。

将两个源文件编译成可执行文件的典型方法是:

 #Compile (the -c) a file, this produces an object file (file1.o and file2.o) gcc -Wall -c file1.c gcc -Wall -c file2.c #Link the object files, and specify the output name as `myapp` instead of the default `a.out` gcc -o myapp file1.o file2.o 

你可以把这个做成一个单一的步骤:

 gcc -Wall -o myapp file1.c file2.c 

或者,对于你的情况与一个单一的源文件:

 gcc -Wall -o myapp file.c 

-Wall部分的意思是“启用(几乎)所有的警告” – 这是一个你应该从一开始就应该接受的习惯,它会为你节省很多麻烦,以后调试奇怪的问题。

a.out名称是旧版unix中的一个可执行格式的剩余部分。 尽管它们现在倾向于生成ELF而不是a.out格式的可执行文件,但是连接器仍然默认命名文件a.out

a.out是可执行文件。

运行:

 ./a.out