Назовите его с помощью -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, где он был исполняемым форматом.Линкеры по-прежнему называют файлы a.out
по умолчанию, хотя они обычно производят исполняемые файлы формата ELF
, а не a.out
.