在linux中,假设要编译hello.c使用指令gcc hello.c编译和使用指令gcc -o hello.c hello.c编译有什么区别

请问在linux中,假设要编译hello.c
使用指令gcc hello.c编译
与使用指令gcc -o hello.c hello.c编译
这两者有什么区别。

gcc hello.c 编译:
在没有指定输出文件名称的情况下,编译器会使用默认的文件名称,即 a.out。在这种情况下,编译后生成的可执行文件名称为 a.out。
gcc -o hello hello.c 编译:
使用 -o 选项可以指定编译输出的可执行文件名称。在这种情况下,编译后生成的可执行文件名称为 hello。
要指定特定的输出文件名称时,应该使用 -o 选项,以避免覆盖默认的文件名称。