Como você não especificou o nome do executável a ser gerado, o GCC usou o nome padrão (a.out no UNIX, a.exe no Windows). O manual completo do compilador pode ser encontrado em https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc.pdf
Se você tiver o gnu make instalado, use o script abaixo para compilar:
CC=gcc # poderia ser o clang
CFLAGS=-Wall -O3 -std=c11 # habilita warnings,
# seta otimizações para o nível mais alto,
# estabelece o uso do padrão ISO C11
SRC=$(wildcard *.c)
OBJ=$(SRC:.c=.o)
EXE=prog.exe # troque pelo nome que quiser que o executável tenha
all: $(EXE)
$(EXE): $(OBJ)
$(CC) $^ -o $@ $(CFLAGS)
%.o: %.c
$(CC) -o $@ -c $< $(CFLAGS)
clean:
@rm *.o
remove: clean
@rm prog.exe
Se o código ainda estiver em produção, desabilite otimizações removendo a flag -O3
e adicione -g
para habilitar que símbolos adicionais usados pelo GDB/LLDB sejam adicionados.
É uma boa prática automatizar a compilação e usar compilação separada. Isto simplifica o processo de build, e em geral reduz o tempo de compilação, pois um arquivo só é recompilado caso suas dependências tenham sofrido alteração. O manual da ferramenta make pode ser encontrado em https://www.gnu.org/software/make/manual/make.pdf
É muito mais fácil programar em C no Linux que no Windows. A configuração do ambiente, a instalação de bibliotecas e ferramentas, bem como atualização é muito mais simples. Dê uma olhada no Ubuntu, uma distro muito simples de instalar e usar; https://ubuntu.com. Caso você não queira usar um dual boot, uma boa opção é usar o WSL; ver https://docs.microsoft.com/pt-br/windows/wsl/install-win10 e https://ubuntu.com/wsl .