Problemas relacionados con la compilación de gcc
-c significa que solo compila archivos fuente, pero no los vincula; compilará programas fuente .c o .c c en archivos objeto. Generalmente un archivo .o.
-o se utiliza para especificar el nombre del archivo de salida. Sin -o, generalmente se genera un archivo a.out predeterminado en la carpeta actual como un programa ejecutable.
Por ejemplo
gcc -c test.c generará el archivo de destino test.o
gcc -o app test.c generará el programa ejecutable app
p>
gcc -c a.c -o a.o significa compilar el archivo fuente a.c en un archivo de destino intermedio con el nombre de archivo especificado a.o. (De hecho, en este caso, si no se usa - o a.o, el efecto es el mismo, porque el nombre predeterminado del archivo intermedio es el mismo que el del archivo fuente, solo el sufijo ha cambiado).